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

MXG CHANGES 27.27

=========================member=CHANGE27================================
 /* COPYRIGHT (C) 1984-2010 MERRILL CONSULTANTS DALLAS TEXAS USA */     
                                                                        
        MXG Version 27.27  is dated Jan 20, 2010, thru Change 27.361    
        MXG Version 27.27  is the   2010 "Annual Version".              
        MXG Newsletter FIFTY-FIVE is  dated Jan 20, 2010                
        MXG Version 27.11  is dated Dec 31, 2009, thru Change 27.337    
        MXG Version 27.10  is dated Dec  6, 2009, thru Change 27.325    
        MXG Version 27.09 was dated Oct 14, 2009, thru Change 27.283    
        MXG Version 27.08 was dated Sep  1, 2009, thru Change 27.229    
        MXG Version 27.07 was dated Aug 11, 2009, thru Change 27.195    
        MXG Newsletter FIFTY-FOUR is  dated Aug 10, 2009                
        MXG Version 27.06 was dated Jul 20, 2009, thru Change 27.167    
        MXG Version 27.05 was dated Jun 29, 2009, thru Change 27.145    
        MXG Version 27.04 was dated May 27, 2009, thru Change 27.107    
        MXG Version 27.03 was dated May  4, 2009, thru Change 27.083    
        MXG Version 27.02 was dated Apr 13, 2009, thru Change 27.066    
        MXG Version 27.01 was dated Mar 17, 2009, thru Change 27.042    
        MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326    
        MXG Version 26.26 was the    2009 "Annual Version".             
        MXG Newsletter FIFTY-THREE was dated Feb  3, 2009               
                                                                        
Instructions for ftp download can be requested by using this form:      
  http://www.mxg.com/ship_current_version                               
Your download instructions will be sent via return email.               
                                                                        
Contents of member CHANGES:                                             
                                                                        
I.    Current MXG Software Version 27.27 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 27.27.                  
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 27.27 dated Jan  20, 2010, thru Change 27.361.          
                                                                        
    MXG Version 27.27 is the "Annual Version" for 2010.                 
                                                                        
    Major enhancements added in MXG 27.27, dated Jan 20, 2010           
                                                                        
  VMXGCNFG 27.356  The standard SAS JCL Proc can be used for MXG.       
               // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'              
               //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR 
  TYPE112  27.358  Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X      
  TYPEEDGR 27.349  Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.      
  TYPEEDGR 27.349  Support for RMM APAR OA24025  RDDESKEY.              
  TYPEEDGR 27.339  RVTxERR RVPxERR variables now numeric, incompatible. 
  TYPE1415 27.361  MXG 27.06-27.11.  BUFNO always zero due to typo.     
  TYPESRMH 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLE support.
  VGETDDS  27.359  WAIT=N option protects for DSNAME already in use.    
  VGETDDS  27.330  New DATEJUL= correctly generates julian dsnames.     
  VMXGALOC 27.355  NOWAIT added, create/allocates are now conditional.  
  READDB2  27.351  READDB2 didn't always invoke its EXdddddd members.   
  TYPE80A  27.357  TYPE8066 dataset enhanced.                           
  TYPETMVT 27.347  TMON/VTAM "SI" record Interval variables now INPUT.  
  ANAL307X 27.346  Analysis compares Hourly CPU in 70, 72, 30 interval. 
  JCLCIDB2 27.345  UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.    
  ASUM70PR 27.344  Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.  
  VMXGSET  27.343  VMXGSET permits multiple datasets with APPEND=YES.   
  VMACSMF  27.341  WARNING: SUBTYPE GT 255 message now not defaulted.   
  TYPEIMSA 27.354  MXGNOTE now prints the value of _IMSVERS on the log. 
                                                                        
    Major enhancements added in MXG 27.11, dated Dec 31, 2009           
                                                                        
  EXPDBINC 27.334  MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.     
                   (Must remove &EPDBINC from EXPDBINC if you used the  
                   %UTILBLDP to create your BUILDPDB source SYSIN code.)
                                                                        
  TYPETMNT 27.336  SYSLOG message text size increased to 32384 bytes.   
  ANALRMFR 27.333  RMF Summary Report (REPORT=SMRY) was incorrect.      
  ANALJOBE 27.332  Analysis of Job Events revised, JESNR test removed.  
  TYPE80A  27.331  Protection for unknown TOKDANAM eliminates STOPOVER. 
  TYPE82   27.330  SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.   
  TYPE110  27.329  MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used. 
  ASUMMIPS 27.327  DUR70 created with actual vs expected DURATM.        
  TYPEDB2  27.326  Variable QDSTQCIT now not deaccumulated.             
                                                                        
    Major enhancements added in MXG 27.10, dated Dec  6, 2009           
                                                                        
  TYPE0    27.325  Updated Support for z/OS 1.11, ID=0 now supported.   
  TYPECDC  27.324  Support for IBM's InfoSphere Change Data Capture CDC 
  TYPEDB2  27.319  Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).     
  TYPE7072 27.317  Support for APAR OA28670 RMF 70 Crypto Express3      
  VMACORAL 27.306  Support for restructured ORACLE SMF records.         
  TYPESYNC 27.289  Support for CPUZIPTM added in SYNCSORT SMF records.  
  READDB2  27.322  IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc) 
  MRGDB2   27.321  MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY   
  JCL40GIG 27.316  JCL example to split/parallelize BUILDPDB job.       
  VGETDDS  27.310  New DATEJUL= created DSNAMES with Julian YYYDDD.     
  VMXGDUR  23.308  SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.     
  ASUMMIPS 27.305  ASUMMIPS now inflates MSU by system CAPTURE RATIO.   
  TYPE110  27.303  CICS Total I/O and Total Other Wait updates.         
  ALOCGOVO 27.299  Allocate GDG's with GOOVOO to minimize DSENQUEUE.    
  TYPETIMS 27.298  Expensive algorithm to uncompress ASG/Landmark data. 
  TYPENTSM 27.312  MXG 27.09 only. NTSMF Processing failed, RECFM.      
  DAILYDSx 27.287  MXG 27.09 only.  TMC= should have been TAPEDATA=.    
  TYPE74   27.287  MXG 27.09 only.  DEBUGGING PUT statement removed.    
  CONFIGxx 27.294  MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
  TYPEPROS 27.295  PRO/SMS SMF record misalignment corrected.           
  ASUM70PR 27.294  IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed. 
  ASUM70PR 27.292  First LPAR had missing values in LPSHAR/TOTSHARE.    
  TYPE42   27.291  Variable S42DSRDD incorrect by factor of 10**6.      
  ASMTAPEE 27.300  ASMTAPE ML-45 enhancements to TMNTnnnn messages.     
                                                                        
    Major enhancements added in MXG 27.09, dated Oct 14, 2009           
                                                                        
  TYPE110  27.260  TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!     
                   This means you do NOT have to assemble and install   
                   the EXITCICS "infile" exit.                          
                    HOWEVER: VERY EXPENSIVE COMPARED TO EXITCICS.       
                             SEE THE TEXT OF THE UPDATED CHANGE.        
                                                                        
  MANY     27.277  Support for USER=DDNAME, "WORK" now "&MXGWORK".      
  TYPE110  27.274  SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed. 
  CICINTRV 27.274  CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.   
  READDB2  27.272  READDB2 support for WANTONLY now works.              
  TYPE110  27.270  CICS STID=115 should not exist.                      
  ASUM70GO 27.268  Example summarizes PDB.TYPE72GO, changing interval.  
  TYPEVMXA 27.264  z/VM MONWRITE example processes only USER domain.    
  TYPE74   27.263  R744FNAM not in TYPE74DU, ITRM sites need update.    
  ASUMMIPS 27.262  MSU/MIPS for zIIPs and zAAPs added to CPs summary.   
  TYPE120  27.255  WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.      
  RMFINTRV 27.252  Format missing for many duration variables, fixed.   
  TYPEEDGR 27.251  RMM Dates - American/Euro/ISO/Julian - all supported.
  TYPETMDB 27.259  Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.    
  TYPEACF2 27.258  Support for Subtype 'O' OPENEDITION record.          
  TYPEQACS 27.256  Support for QACSLPAR dataset.                        
  TYPE120  27.255  SM1209 RETAINED, SM1209FI/EV corrected.              
  RMFINTRV 27.252  Formats for durations added.                         
  TYPEEDGR 27.251  Support for all four RMM Date Formats                
  TYPE80A  27.250  Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.  
  TYPE74   27.249  R747PAVG AVERGAGE FRAME PACING matches RMF report.   
  VGETDDS  27.248  Logic revised when DDNAMES= syntax is used.          
  TYPEHBUF 27.247  FLAG1 tests for HyperBuf optional segments revised.  
  DAILYDSN 27.246  Variables DSN DSNBACTV STPNAME had UNINIT messages.  
  GRAFWRKX 27.245  zIIPs and zAAPs added to SAS/GRAPH hourly workloads. 
  TYPE110  27.245  OTRANNUM right with IMACEXCL, wrong in VMAC110.      
  FORMATS  27.243  OPTIONS NOCHARCODE reset at end of FORMATS.          
  TYPE80A  27.241  RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.       
  WPS      27.239  WPS 2.4 GA has been tested, requires MXG 27.09.      
  ANALDB2R 27.238  AUDIT report revisions, reduced processing time.     
  VGETOBS  27.237  Enhancement if no DDNAME argument.                   
  TYPE116  27.235  Six datetimes are now converted to LOCAL, were GMT.  
  VMXGSUM  27.234  Revision to eliminate OUTCODE= argument sometimes.   
  TYPEDB2  27.232  TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.       
  TYPECIMS 27.230  Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT. 
                                                                        
    Major enhancements added in MXG 27.08, dated Sep  1, 2009           
                                                                        
  Several  27.229  Support for z/OS 1.11, COMPATIBLE, except for ID=0.  
  TYPE110  27.200  Support for CICS/TS 4.1 GA additions, new stats.     
  BUILDPDB 27.213  HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.   
  TYPENDM  27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.  
  TYPEOSEM 27.221  Support for zOSEM Operating System Environment Mgr.  
  TYPE16   27.211  Support for new z/OS 1.10 DFSORT variables.          
  ANALDB2T 27.223  New "Top" DB2 Report ranks resource for corr,auth id.
  ANALCNCR 27.220  MXG 27.06-27.07. Failed if multiple INDATA= datasets.
  ANALCNCR 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.  
  ASUMTALO 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.  
  RMFINTRV 27.218  SMF70LAC was maximum value rather than average.      
  RMFINTRV 27.214  RMFINTRV STARTIME could be early by an interval unit.
  ASUM70PR 27.214  ASUM70PR STARTIME could be early by an interval unit.
  TYPE7072 27.217  Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline. 
  TYPEXAM  27.216  Variable SYTLPNAM restored kept in XAMSYT dataset.   
  TYPETMO2 27.215  TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record. 
  TYPEDCOL 27.212  Support for APAR OA30006, 8-byte DCOLDSET fields.    
  TYPETMDB 27.209  TMON/DB2 BF record SQL text BF0142RL corrected.      
  TYPEDB2  27.207  MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.      
  TYPE92   27.204  Change 27.154 did not correct missing path section.  
  ANALRMFR 27.198  ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.  
  TYPE85   27.196  Heuristic in Change 27.138 did not correct EXCEEDED. 
  VMXGDUR  27.214  New FLORCEIL=FLOOR/CEIL argument for begin/end calc. 
  VMXGDUR  27.214  SYNC59=YES default with FLOOR, always safe.          
  BUILDPDB 27.220  MSOUNITS,SERVICE corrected to always be LENGTH 8.    
                                                                        
    Major enhancements added in MXG 27.07, dated Aug 11, 2009           
                                                                        
  TYPEIOO  27.189  Support for Serena's StarTool IOO Product SMF.       
  TYPENTSM 27.184  Support for 13 VMWARE objects captured by NTSMF.     
  READDB2  27.169  MXG 27.04-27.06. T102Snnn datasets had zero obs.     
  ASUMTAPE 27.181  Support for VOLSER='SCRTCH' from MXGTMNT monitor.    
  TYPENMON 27.180  Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects. 
  TYPEITRF 27.177  Variable RECTOK was truncated to 12 bytes.           
  TYPECIMS 27.176  Support for IMF 4.4 was incorrect for TRNxxxxx vars. 
  TYPECIMS 27.176  BMC PTF BQI0695 corrects overlaid DBD segments.      
  TYPEDB2  27.17x  Corrected, misspelled DB2 variables.                 
  ANALDB2R 27.172  Many tests IF x NE 0 replaced with IF x GT 0.        
  ASUM70PR 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  RMFINTRV 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
                                                                        
    Major enhancements added in MXG 27.06, dated Jul 20, 2009           
                                                                        
  TYPE102  27.162  Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x   
  TYPEDB2  27.158  Support for UIFCIDS=YES, all "%U" DB2 fields revised.
  TYPEVMXA 27.156  Support for z/VM 6.1.0 in MXG 27.01+; no new data.   
  TYPE1415 27.148  Support for APAR OA29428, identifies who closed file.
  TYPE7072 27.149  Labels for Counts of ZIP, IFA, CPs, clarified.       
  TYPE42   27.155  Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
  TYPE92   27.154  Variable SMF92PPN blank in TYPE9201, was not INPUT.  
  TYPE119  27.153  Variable NTBTRNBE input now as count and not a time. 
  ANALZPCR 27.147  SCP too short for z/OS 1.10, wrong if multiple SCPs. 
  TYPEDCOL 27.152  MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.  
  TYPEXAM  27.151  XAM TCP record INPUT STATEMENT EXCEEDED error.       
                                                                        
    Major enhancements added in MXG 27.05, dated Jun 29, 2009           
                                                                        
  TYPE30   27.122  Support for APAR OA26832 expands Service Unit fields.
  TYPERMVF 27.120  RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).     
  MXGSASxx 27.108  &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL. 
  ANALDB2R 27.131  DB2PM-like STATISTICS LONG report MAJOR updates.     
  ANALZIPU 27.137  Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.   
  TYPETMMQ 27.145  Support for TMON for MQ record 'QA' (APPLICATION).   
  TYPEQACS 27.134  More updates for IBM i, i5/OS, iSeries a/k/a AS400.  
  TYPECTLL 27.129  Updates for CONTROL-D TYPE C User SMF record.        
  JCLDAYDS 27.127  Support for CONTROL-T for "daily dataset billing".   
  VMXGOPTR 27.124  Macro %TRIM() function removed from VMXGOPTR.        
  ASUM70PR 27.132  Revisions for missing values if IFL is last LPARNUM. 
  TYPE1415 27.116  Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.     
  TYPETMS5 27.111  New TMSLIB variable, support for multiple TMS cats.  
  MXGWPSV2 27.110  Circumventions support MXG execution under WPS 2.3.5.
  COMPALL  27.109  Comparison of COMPALL under SAS and WPS.             
                                                                        
    Major enhancements added in MXG 27.04, dated May 27, 2009           
                                                                        
  This Version updates lots of DB2 stuff; the IFCID=225 variables are   
  now added to PDB.DB2STATS, so that one dataset now has all of the     
  DB2 Statistics variables from DB2STAT0, DB2STAT1, and DB2STAT4, and   
  for DB2 V8 sites, you can also tell MXG to add the T102S225 variables 
  to the PDB.DB2STATS dataset. See Change 27.097 text.                  
  And READDB2 was revised to match its documentation, and to read only  
  the records that are needed for the IFCIDS= selection.                
                                                                        
  READDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing    
  TYPEDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing    
  TYPEDB2  27.086  Some DB2STATS QISE variables incorrectly deaccum'd.  
  IMACICOB 27.099  Optional Omegamon DB2 CICS/TS 3.2 times were wrong.  
  TYPE119  27.106  Support for z/OS 1.10 storage metrics in SMF 119.    
  TYPECIMS 27.107  Support for BMC'S IMF 4.4 (COMPATIBLE).              
  TYPEACF2 27.105  ACF2VR dataset enhanced, DB2 activity identification.
  TYPE7072 27.089  Support for TYPE 72 Resource Delay Type Names R723RNx
  TYPEBVIR 27.088  Support for TS7700/BVIR Microcode 1.5.               
  TYPEBVIR 27.104  BVIR TS7700 GMT times can be user-changed to LOCAL.  
  VMXGDUR  27.103  New INTERVAL=THREEMIN or TWOMIN are supported.       
  TYPE70PR 27.102  27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
  TYPERMFV 27.100  RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
  TYPENMON 27.096  Nigel's Monitor MEM Object supported.                
  TYPETPMX 27.093  TYPETPMX variable JESNR now 7-digits, was 5 digits.  
  VMXGOPTR 27.092  SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB    
  VMXGOPTR 27.092  SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.            
  TYPETMO2 27.091  ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.  
  TYPENMON 27.087  NMONBBBP blank values and wrong labels corrected.    
  TYPEOMCI 27.085  ONDV datasets from subtype 203 had blanks for xTRAN. 
  VGETDDS  27.083  Concatenate PDB libs, dynamically allocate them.     
                                                                        
    Major enhancements added in MXG 27.03, dated May  4, 2009           
                                                                        
  ASUM70PR 27.076  ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus. 
  ASUM70PR 27.074  Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
  TYPE83   27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.
  TYPEIMS7 27.078  Support for IMS Log 45X Interval Statistics record.  
  TYPEIMSA 27.078  Support for IMS Log 45X Interval Statistics record.  
  TYPEIMFL 27.078  Support for IMF+IMS 45X Interval Statistics record.  
  TYPEDCOL 27.082  Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
  TYPE113  27.081  Support for APAR OA27623, CPU Speed, SM1132SP, added.
  TYPENMON 27.080  Protection for inconsistent NMON data counters.      
  TYPEBVIR 27.077  BVIR variable GLIBSEQN can be ASCII or EBCDIC.       
  TYPESTC  27.072  VTCS subtypes of STC/STK USER SMF record updated.    
  VMXGSUM  27.071  VMXGSUM-using programs support DROPed variables.     
  TYPEXAM  27.070  Variable DESCR truncated in XMHSTMEM, changed.       
  TYPEULTM 27.069  Serena's Ultimizer user MV moved subtype location.   
  IMACICDU 27.068  Optional USERCHAR in CICSTRAN was limited to 200.    
  TYPE77   27.066  "Owner" variables incorrectly labeled as "Current".  
                                                                        
    Major enhancements added in MXG 27.02, dated Apr 13, 2009           
                                                                        
                   Errors (Only in MXG 27.01) corrected in 27.02:       
  TYPEDCOL 27.057  MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor. 
  TYPE42   27.054  MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.  
    Enhancements:                                                       
  TYPE42   27.062  VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559. 
  TYPEEDGR 27.046  Major updates for RMM/EDGHSKP D,V,X records.         
  TYPEDCOL 27.047  Support for EAV (large volumes) final correction.    
  TYPECTCD 27.056  Support for Control-D "Decollating" SMF record.      
  TYPE102  27.059  Some SMF 102 IFCID=108 variables were not INPUT.     
  VMACSMF  27.058  SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.  
  TYPEHURN 27.055  OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
  TYPE110  27.053  CICS SMF 110 Statistics STID=108 skipped data.       
  ANALDB2R 27.052  PMACC01 had blank values; time formats match DB2PM.  
  VMXGOPTR 27.051  %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
  VGETSYSI 27.049  New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
  VMACDB2  27.045  DB2STATS QISTWFxx variables were incorrectly deaccum.
  TYPEMWAI 27.043  HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.     
                                                                        
    Major enhancements added in MXG 27.01, dated Mar 17, 2009           
                                                                        
    These two changes were delivered in re-dated MXG 26.26 of Feb 12:   
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  RMFINTRV 27.001  Negative PCTCPUBY, corrected in Feb 12 refresh.      
                                                                        
  TYPE110  27.032  Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).  
  TYPE111  27.011  Support for CTG V7.2 (INCOMPAT, new RECID=7 error).  
  TYPE113  27.004  Support for SMF 113 Hardware Instrumentation Svc HIS.
  TYPEDCOL 27.034  Support for EAV, Extended Address Volume devices.    
  TYPENTSM 27.038  Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!). 
  TYPE114  27.003  Support for Tivoli Automation SMF 114 record.        
  TYPEULOP 27.029  Support for BMC's Ultra Op Product's User SMF record.
  TYPETMO2 27.042  Support for ASG TMON for CICS V3.2 native records.   
  ANAL119  27.031  Sample TCP/IP analysis from IBM SMF ID=119 records.  
  TYPEVMXA 27.008  z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.   
  BUILDPDB 27.005  PDB.SMFRECNT created to audit SMF record counts.     
  WEEKxxxx 27.005  Weekly logic enhanced to support nonexistent dataset.
  MONTHxxx 27.005  Month logic enhanced to support nonexistent dataset. 
  ANALDB2R 27.012  DB2PM-like report selection by DATABASE enhancement. 
  UDB2GTF  27.015  Revised Support for processing DB2 GTF records.      
  TYPEDB2  27.018  DB2 V9 variables added by IBM or overlooked, added.  
  ANALDB2R 27.024  NOT SORTED ERROR if only PMACC04 was requested.      
  TYPE42   27.016  Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.        
  TYPE42   27.027  TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
  TYPENMON 27.028  NMON record 'VM' support for both z/VM, and Intel.   
  TYPENMON 27.028  IHDRNMON exit permits NMON record selection.         
  TYPE88   27.026  SMF88LTD timestamp wrong as GMT offset misapplied.   
  MANY     27.014  SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.  
  JCLIMSL6 27.033  Setting MACRO _IMSVERS externalized to JCL example.  
  TYPEXAM  27.030  Only the last MDISK was kept in XAMDEV.              
                                                                        
                                                                        
    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:                              
                                                                        
      MXG 27.27 executes best with SAS V9.2, or with SAS V9.1.3 with    
      Service Pack 4, on any supported SAS platform.                    
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with   
        the MXG EXITCICS/CICSFIUE CICS Decompression Infile Exit.       
                                                                        
      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.
                                                                        
      Old MXG code may continue to execute with SAS V8.2, but V8 is now 
      "Level B" support from SAS Institute, and there are known errors  
      in V8.2 that are only fixed in SAS V9.  PLEASE INSTALL V9.2 ASAP, 
      FOR BOTH OF US, 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 
      one of those listed SAS versions, but any of those data libraries 
      can be read or updated by any of those versions.                  
                                                                        
                                                                        
      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.   
                                                                        
        SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.   
        V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,  
        and vice versa.                                                 
                                                                        
        MXG Versions 26.03+ execute with SAS V9.2 with NO (new) 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.                        
                                                                        
                                                                        
      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) is required 
         to be completely safe.  No earlier Version 8's were supported. 
         BUT, PLEASE INSTALL V9.x ASAP, FOR BOTH OF US. V8.2 IS ARCHAIC.
                                                                        
       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.                                      
                                                                        
      MXG QA tests have executed on z/OS with SAS V9.1.3 and V9.2 and   
      also both V9.1.3 and V9.2 on Windows XP.                          
      (I can no longer run QA tests with "archaic" SAS Version 8.2.)    
                                                                        
      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 SAS V9.1.3 or V9.2 on every possible 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 2.4   requires MXG 27.09 (see Change 27.239).         
      WPS Version 2.3.5 required MXG 27.05.                             
                                                                        
      See NEWSLETTERS for "MXG Support for WPS Software"                
                                                                        
IV.   MXG Version Required for Hardware, Operating System Release, etc. 
                                                                        
                                                                        
                                                                        
    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:               
                                                                        
                                       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 TYPE 0 Correction      Dec  3, 2009       *27.10        
      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        
      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 V2R2  CICS/TS 2.2        Feb  9, 2002        19.19        
      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 V3R2  CICS/TS 3.2        Dec  6, 2007        25.11        
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11        
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19        
       CICSTRAN subtype 1 support only                    *19.19        
       CICSTRAN subtype 2 completed                       *19.08        
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003                     
       Using UTILEXCL to create IMACEXCL:                  21.04        
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04        
      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 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        
      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        
      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        
      MQ Series 7.0 (No Changes)       ??? ??, 2009        23.23        
      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        
      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        
      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*       
      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 before 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        
      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 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 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        
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08        
                                                                        
      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                                          
       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)                               27.07*       
      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        
                                                                        
V.    Incompatibilities and Installation of MXG 27.27.                  
                                                                        
                                                                        
 1. Incompatibilities introduced in MXG 27.27:                          
                                                                        
  a- Changes in MXG architecture made between 27.27 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 JCLINST9 for 
    SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).       
                                                                        
    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.     
                                                                        
                                                                        
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 27.27 after MXG 26.26:    
                                                                        
  Dataset/                                                              
  Member   Change    Description                                        
                                                                        
  ALOCGOVO 27.299  Allocate GDG's with GOOVOO to minimize DSENQUEUE.    
  ANAL119  27.031  Sample TCP/IP analysis from IBM SMF ID=119 records.  
  ANAL307X 27.346  Analysis compares Hourly CPU in 70, 72, 30 interval. 
  ANALCNCR 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.  
  ANALCNCR 27.220  MXG 27.06-27.07. Failed if multiple INDATA= datasets.
  ANALDB2R 27.012  DB2PM-like report selection by DATABASE enhancement. 
  ANALDB2R 27.023  One of several updates to ANALDB2R since 26.26.      
  ANALDB2R 27.024  NOT SORTED ERROR if only PMACC04 was requested.      
  ANALDB2R 27.052  PMACC01 had blank values; time formats match DB2PM.  
  ANALDB2R 27.131  DB2PM-like STATISTICS LONG report updated.           
  ANALDB2R 27.172  Many tests IF x NE 0 replaced with IF x GT 0.        
  ANALDB2R 27.238  AUDIT report revisions, reduced processing time.     
  ANALDB2T 27.223  "Top" DB2 Report ranks resource for corr,auth ids.   
  ANALJOBE 27.332  Analysis of Job Events revised, JESNR test removed.  
  ANALRMFR 27.198  ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.  
  ANALRMFR 27.333  RMF Summary Report (REPORT=SMRY) was incorrect.      
  ANALZIPU 27.137  Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.   
  ANALZPCR 27.147  SCP too short for z/OS  1.10, wrong if multiple SCPs.
  ASMIMSL6 27.121  Assembly error USING introduced in Change 27.078.    
  ASMTAPEE 27.348  ASMTAPE ML-46 enhancements to optional SYSLOG data.  
  ASMTAPEE 27.300  ASMTAPE ML-45 enhancements to TMNTnnnn messages.     
  ASUM70GO 27.268  Example summarizes PDB.TYPE72GO, changing interval.  
  ASUM70PR 27.074  Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
  ASUM70PR 27.076  ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus. 
  ASUM70PR 27.132  Revisions for missing values if IFL is last LPARNUM. 
  ASUM70PR 27.214  ASUM70PR STARTIME could be early by an interval unit.
  ASUM70PR 27.292  First LPAR had missing values in LPSHAR/TOTSHARE.    
  ASUM70PR 27.294  IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed. 
  ASUM70PR 27.344  Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.  
  ASUMMIPS 27.262  MSU/MIPS for zIIPs and zAAPs added to CPs summary.   
  ASUMMIPS 27.305  ASUMMIPS now inflates MSU by system CAPTURE RATIO.   
  ASUMMIPS 27.327  DUR70 created with actual vs expected DURATM.        
  ASUMTALO 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.  
  ASUMTAPE 27.160  EVENTIME dropped from PDB.ASUMTAPE MXG 26.03, fixed. 
  ASUMTAPE 27.181  Support for VOLSER='SCRTCH' from MXGTMNT monitor.    
  BLDSMPDB 27.112  SUBSTR() Function Error, allocation revisions.       
  BUILDPDB 27.001  New PDB.SMFRECNT dataset summarizes WORK.ID.         
  BUILDPDB 27.005  PDB.SMFRECNT created to audit SMF record counts.     
  BUILDPDB 27.213  HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.   
  BUILDPDB 27.220  MSOUNITS,SERVICE corrected to always be LENGTH 8.    
  CICINTRV 27.274  CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.   
  COMPALL  27.109  Comparison of COMPALL under SAS and WPS.             
  CONFIGxx 27.294  MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
  DAILYDSN 27.246  Variables DSN DSNBACTV STPNAME had UNINIT messages.  
  DAILYDSx 27.287  MXG 27.09 only.  TMC= should have been TAPEDATA=.    
  DB2      27.158  Support for UIFCIDS=YES, all "%U" DB2 fields revised.
  EXPDBINC 27.334  MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.     
  FORMATS  27.243  OPTIONS NOCHARCODE reset at end of FORMATS.          
  GRAFWRKX 27.245  zIIPs and zAAPs added to SAS/GRAPH hourly workloads. 
  IMACICDU 27.068  Optional USERCHAR in CICSTRAN was limited to 200.    
  IMACICOB 27.099  Optional Omegamon DB2 CICS/TS 3.2 times were wrong.  
  IMACICUA 26.019  CICS User fields supported in IMACICUA/UB/UC/UD      
  JCL40GIG 27.316  JCL example to split/parallelize BUILDPDB job.       
  JCLCIDB2 27.345  UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.    
  JCLDAYDS 27.127  Support for CONTROLT for "daily dataset billing".    
  JCLIMSL6 27.033  Setting MACRO _IMSVERS externalized to JCL example.  
  MANY     27.014  SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.  
  MANY     27.277  Support for USER=DDNAME, "WORK" now "&MXGWORK".      
  MONTHxxx 27.005  Month logic enhanced to support nonexistent dataset. 
  MRGDB2   27.321  MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY   
  MXGSASxx 27.108  &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL. 
  MXGWPSV2 27.110  Status of testing MXG 27.04 with WPS 2.3.5.          
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  READDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing    
  READDB2  27.150  MXG 27.05. COPYONLY option didn't include 102s.      
  READDB2  27.169  27.04-27.06, zero obs in all T102Snnn datasets.      
  READDB2  27.169  MXG 27.04-27.06. T102Snnn datasets not populated.    
  READDB2  27.272  READDB2 support for WANTONLY now works.              
  READDB2  27.322  IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc) 
  READDB2  27.351  READDB2 didn't always invoke its EXdddddd members.   
  RMFINTRV 27.001  Negative PCTCPUBY, corrected in Feb 12 refresh.      
  RMFINTRV 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  RMFINTRV 27.214  RMFINTRV STARTIME could be early by an interval unit.
  RMFINTRV 27.218  SMF70LAC was maximum value rather than average.      
  RMFINTRV 27.252  Format missing for many duration variables, fixed.   
  RMFINTRV 27.252  Formats for durations added.                         
  SPIN     27.119  Doc. Sort Order to import EBCDIC sorted SPIN library.
  TIMETABL 27.115  %LET MXGTIM59=YES is no longer required for SYNC59.  
  TYPE0    27.325  z/OS 1.11 Update: TYPE 0 Corrected.                  
  TYPE102  27.059  Some SMF 102 IFCID=108 variables were not INPUT.     
  TYPE102  27.131  DB2 T102S106 dataset updates.                        
  TYPE102  27.132  IFCID=22 with truncated names INPUT STATEMENT EXCEED.
  TYPE102  27.162  Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x   
  TYPE110  27.032  Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).  
  TYPE110  27.053  CICS SMF 110 Statistics STID=108 skipped data.       
  TYPE110  27.200  Support for CICS/TS 4.1 GA updates/documentation.    
  TYPE110  27.245  OTRANNUM right with IMACEXCL, wrong in VMAC110.      
  TYPE110  27.260  TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!     
  TYPE110  27.270  CICS STID=115 should not exist.                      
  TYPE110  27.274  SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed. 
  TYPE110  27.303  CICS Total I/O and Total Other Wait updates.         
  TYPE110  27.329  MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used. 
  TYPE111  27.011  Support for CTG V7.2 (INCOMPAT, new RECID=7 error).  
  TYPE112  27.358  Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X      
  TYPE113  27.004  Support for SMF 113 Hardware Instrumentation Svc HIS.
  TYPE113  27.081  Support for APAR OA27623, CPU Speed, SM1132SP, added.
  TYPE114  27.003  Support for Tivoli Automation SMF 114 record.        
  TYPE116  27.157  WQGETJCE/WQPUTJCE/etc variables not divided by 4096. 
  TYPE116  27.235  Six datetimes are now converted to LOCAL, were GMT.  
  TYPE117  27.022  Variables added to S117NODE to match up to S117FLOW. 
  TYPE119  27.106  Support for z/OS 1.10 storage metrics in SMF 119.    
  TYPE119  27.153  Variable NTBTRNBE input now as count and not a time. 
  TYPE120  27.255  SM1209 RETAINED, SM1209FI/EV corrected.              
  TYPE120  27.255  WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.      
  TYPE1415 27.116  Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.     
  TYPE1415 27.148  Support for APAR OA29428, identifies who closed file.
  TYPE1415 27.361  MXG 27.06-27.11.  BUFNO always zero due to typo.     
  TYPE16   27.211  Support for new z/OS 1.10 DFSORT variables.          
  TYPE30   27.122  Support for APAR OA26832 expands Service Unit fields.
  TYPE42   27.016  Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.        
  TYPE42   27.027  TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
  TYPE42   27.054  MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.  
  TYPE42   27.062  VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559. 
  TYPE42   27.155  Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
  TYPE42   27.291  Variable S42DSRDD incorrect by factor of 10**6.      
  TYPE7072 27.010  SMF70CIX, CPU Pool Number, output in PDB.TYPE70PR.   
  TYPE7072 27.089  Support for TYPE 72 Resource Delay Type Names R723RNx
  TYPE7072 27.149  Labels for Counts of ZIP, IFA, CPs, clarified.       
  TYPE7072 27.205  Doc only. PDB.TYPE70PR LCPUPDTM GT SMF70ONT happens. 
  TYPE7072 27.217  Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline. 
  TYPE7072 27.317  Support for APAR OA28670 RMF 70 Crypto Express3      
  TYPE70PR 27.102  27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
  TYPE70PR 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  TYPE74   27.249  R747PAVG AVERGAGE FRAME PACING matches RMF report.   
  TYPE74   27.263  R744FNAM not in TYPE74DU, ITRM sites need update.    
  TYPE74   27.287  MXG 27.09 only.  DEBUGGING PUT statement removed.    
  TYPE77   27.066  "Owner" variables incorrectly labeled as "Current".  
  TYPE80A  27.017  Undecoded NOHOME/NOPROGRAM in TOKDANAM supported.    
  TYPE80A  27.241  RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.       
  TYPE80A  27.250  Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.  
  TYPE80A  27.331  Protection for unknown TOKDANAM eliminates STOPOVER. 
  TYPE80A  27.357  TYPE8066 dataset enhanced.                           
  TYPE82   27.330  SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.   
  TYPE83   27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.
  TYPE85   27.138  z/OS 1.10 OAM record INPUT EXCEEDED RECORD LENGTH.   
  TYPE85   27.196  Heuristic in Change 27.138 did not correct EXCEEDED. 
  TYPE88   27.026  SMF88LTD timestamp wrong as GMT offset misapplied.   
  TYPE92   27.154  Variable SMF92PPN blank in TYPE9201, was not INPUT.  
  TYPE92   27.204  Change 27.154 did not correct missing path section.  
  TYPEACF2 27.105  ACF2VR dataset enhanced, DB2 activity identification.
  TYPEACF2 27.258  Support for Subtype 'O' OPENEDITION record.          
  TYPEBVIR 27.077  BVIR variable GLIBSEQN can be ASCII or EBCDIC.       
  TYPEBVIR 27.088  Support for TS7700/BVIR Microcode 1.5.               
  TYPEBVIR 27.104  BVIR TS7700 GMT times can be user-changed to LOCAL.  
  TYPEBVIR 27.163  BVIR PnCHRD/VDRD/CHRD converted to bytes, MGBYTES.   
  TYPECDC  27.324  Support for IBM's InfoSphere Change Data Capture CDC 
  TYPECIMS 27.107  Support for BMC'S IMF 4.4 (COMPATIBLE).              
  TYPECIMS 27.176  BMC PTF BQI0695 corrects overlaid DBD segments.      
  TYPECIMS 27.176  Support for IMF 4.4 was incorrect for TRNxxxxx vars. 
  TYPECIMS 27.230  Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT. 
  TYPECTCD 27.056  Support for Control-D "Decollating" SMF record.      
  TYPECTLL 27.129  Updates for CONTROL-D TYPE C User SMF record.        
  TYPEDB2  27.018  DB2 V9 variables added by IBM or overlooked, added.  
  TYPEDB2  27.021  QPAC flag variables were not reset.                  
  TYPEDB2  27.045  DB2STATS QISTWFxx variables were incorrectly deaccum.
  TYPEDB2  27.086  Some DB2STATS QISE variables incorrectly deaccum'd.  
  TYPEDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing    
  TYPEDB2  27.161  Incorrect QXPK values in DB2ACCTP, DB2 V9 only.      
  TYPEDB2  27.17x  Corrected, misspelled DB2 variables.                 
  TYPEDB2  27.188  MXG 27.04-27.06 NOT SORTED DB2STAT0/DB2STAT1.        
  TYPEDB2  27.207  MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.      
  TYPEDB2  27.232  TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.       
  TYPEDB2  27.319  Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).     
  TYPEDB2  27.326  Variable QDSTQCIT now not deaccumulated.             
  TYPEDCOL 27.034  Support for EAV, Extended Address Volume devices.    
  TYPEDCOL 27.047  Support for EAV (large volumes) final correction.    
  TYPEDCOL 27.057  MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor. 
  TYPEDCOL 27.082  Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
  TYPEDCOL 27.152  MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.  
  TYPEDCOL 27.212  Support for APAR OA30006, 8-byte DCOLDSET fields.    
  TYPEEDGR 27.046  Major updates for RMM/EDGHSKP D,V,X records.         
  TYPEEDGR 27.251  RMM Dates - American/Euro/ISO/Julian - all supported.
  TYPEEDGR 27.251  Support for all four RMM Date Formats                
  TYPEEDGR 27.339  RVTxERR RVPxERR variables now numeric, incompatible. 
  TYPEEDGR 27.349  Support for RMM APAR OA24025  RDDESKEY.              
  TYPEEDGR 27.349  Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.      
  TYPEEREP 27.006  Truncated variables increased, SDWA fully decoded.   
  TYPEHBUF 27.247  FLAG1 tests for HyperBuf optional segments revised.  
  TYPEHURN 27.055  OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
  TYPEIMFL 27.078  Support for IMF+Log 45X Interval Statistics record.  
  TYPEIMS7 27.078  Support for IMS Log 45X Interval Statistics record.  
  TYPEIMSA 27.078  Support for IMS Log 45X Interval Statistics record.  
  TYPEIMSA 27.354  MXGNOTE now prints the value of _IMSVERS on the log. 
  TYPEIOO  27.189  Support for Serena's StarTool IOO Product SMF.       
  TYPEITRF 27.177  Variable RECTOK was truncated to 12 bytes.           
  TYPEMWAI 27.043  HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.     
  TYPENDM  27.022  NDMRTYPE='IK' record is now output in NDMDT dataset. 
  TYPENDM  27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.  
  TYPENMON 27.028  IHDRNMON exit permits NMON record selection.         
  TYPENMON 27.028  NMON record 'VM' support for both z/VM, and Intel.   
  TYPENMON 27.080  Protection for inconsistent NMON data counters.      
  TYPENMON 27.087  NMONBBBP blank values and wrong labels corrected.    
  TYPENMON 27.096  Nigel's Monitor MEM Object supported.                
  TYPENMON 27.110  COUNTW() now used only with SAS V9, DO Loop for V8.  
  TYPENMON 27.180  Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects. 
  TYPENTSM 27.038  Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!). 
  TYPENTSM 27.184  Support for 13 VMWARE objects captured by NTSMF.     
  TYPENTSM 27.312  MXG 27.09 only. NTSMF Processing failed, RECFM.      
  TYPEOMCI 27.085  ONDV datasets from subtype 203 had blanks for xTRAN. 
  TYPEOMCI 27.113  OMCI INTR Subtype 200 RECSUBTYP 4 INPUT EXCEEDED.    
  TYPEOSEM 27.221  Support for zOSEM Operating System Environment Mgr.  
  TYPEPROS 27.295  PRO/SMS SMF record misalignment corrected.           
  TYPEQACS 27.134  More updates for IBM i, i5/OS, iSeries a/k/a AS400.  
  TYPEQACS 27.256  Support for QACSLPAR dataset.                        
  TYPERMFV 27.100  RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
  TYPERMVF 27.120  RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).     
  TYPESRMH 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLE support.
  TYPESTC  27.072  VTCS subtypes of STC/STK record updated.             
  TYPESYNC 27.289  Support for CPUZIPTM added in SYNCSORT SMF records.  
  TYPETIMS 27.298  Expensive algorithm to uncompress ASG/Landmark data. 
  TYPETMDB 27.209  TMON/DB2 BF record SQL text BF0142RL corrected.      
  TYPETMDB 27.259  Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.    
  TYPETMMQ 27.145  Support for TMON for MQ record 'QA' (APPLICATION).   
  TYPETMNT 27.009  MSGID IEF233D supported, no DSNAME in SYSLOG doc'd.  
  TYPETMNT 27.336  SYSLOG message text size increased to 32384 bytes.   
  TYPETMO2 27.042  Support for ASG TMON for CICS V3.2.                  
  TYPETMO2 27.091  ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.  
  TYPETMO2 27.215  TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record. 
  TYPETMS5 27.111  New TMSLIB variable, support for multiple TMS cats.  
  TYPETMS5 27.168  MXG 27.05-27.06. _KTMSTMS dropped, impacts ITRM.     
  TYPETMS5 27.190  TMS.TMS DEVTYPE blank for 3590 and 3592 devices.     
  TYPETMVT 27.347  TMON/VTAM "SI" record Interval variables now INPUT.  
  TYPETPMX 27.093  TYPETPMX variable JESNR now 7-digits, was 5 digits.  
  TYPEULOP 27.029  Support for BMC's Ultra Op Product's User SMF record.
  TYPEULTM 27.069  Serena's Ultimizer user MV moved subtype location.   
  TYPEVMXA 27.008  z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.   
  TYPEVMXA 27.156  Support for z/VM 6.1.0 in MXG 27.01+; no new data.   
  TYPEVMXA 27.156  z/VM 6.1 support is in MXG 27.01 or later.           
  TYPEVMXA 27.264  z/VM MONWRITE example processes only USER domain.    
  TYPEXAM  27.030  Only the last MDISK was kept in XAMDEV.              
  TYPEXAM  27.070  Variable DESCR truncated in XMHSTMEM, changed.       
  TYPEXAM  27.151  XAM TCP record INPUT STATEMENT EXCEEDED error.       
  TYPEXAM  27.216  Variable SYTLPNAM restored kept in XAMSYT dataset.   
  TYPEXAM  27.281  Updates/corrections/ for XAM Version 3.7.            
  UDB2GTF  27.015  Revised Support for processing DB2 GTF records.      
  VGETDDS  27.083  Concatenate PDB libs, dynamically allocate them.     
  VGETDDS  27.248  Logic revised when DDNAMES= syntax is used.          
  VGETDDS  27.310  New DATEJUL= created DSNAMES with Julian YYYDDD.     
  VGETDDS  27.330  New DATEJUL= correctly generates julian dsnames.     
  VGETDDS  27.359  WAIT=N option protects for DSNAME already in use.    
  VGETOBS  27.237  Enhancement if no DDNAME argument.                   
  VGETSYSI 27.049  New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
  VMACDB2  27.131  DB2STATS DIF() or no-DIF() corrections.              
  VMACEDGR 27.128  Syntax error after Change 27.046 (GT. GT.).          
  VMACORAL 27.306  Support for restructured ORACLE SMF records.         
  VMACSMF  27.058  SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.  
  VMACSMF  27.341  WARNING: SUBTYPE GT 255 message now not defaulted.   
  VMXGALOC 27.355  NOWAIT added, create/allocates are now conditional.  
  VMXGCNFG 27.356  The standard SAS JCL Proc can be used for MXG.       
  VMXGDUR  27.214  New FLORCEIL=FLOOR/CEIL argument for begin/end calc. 
  VMXGDUR  27.214  SYNC59=YES now default with FLOOR, always safe.      
  VMXGDUR  27.308  SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.     
  VMXGOPTR 27.051  %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
  VMXGOPTR 27.092  SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB    
  VMXGOPTR 27.092  SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.            
  VMXGOPTR 27.124  Macro %TRIM() function removed from VMXGOPTR.        
  VMXGSET  27.343  VMXGSET permits multiple datasets with APPEND=YES.   
  VMXGSUM  27.071  VMXGSUM-using programs support DROPed variables.     
  VMXGSUM  27.234  Revision to eliminate OUTCODE= argument sometimes.   
  VMXGTAPE 27.114  "Tape-aware" programs now support LIBNAME allocation.
  WEEKxxxx 27.005  Weekly logic enhanced to support nonexistent dataset.
  WPS      27.239  WPS 2.4 GA has been tested, requires MXG 27.09.      
                                                                        
  See member CHANGESS for all changes ever made to MXG Software.        
                                                                        
                                                                        
Inverse chronological list of all Changes:                              
                                                                        
NEXTCHANGE: Version 27.                                                 
                                                                        
====== Changes thru 27.361 were in MXG 27.27 dated Jan 20, 2010======== 
                                                                        
Change 27.361  MXG 27.06-27.11. Variable BUFNO in TYPE1415 was always   
VMAC1415       zero; the label in the comment for SMF14ABD, added by    
Jan 19, 2009   Change 27.148, had a / instead of */ at the end of that  
               line, which swallowed (without error) the IF BUFNO test. 
               Note that even when fixed, BUFNO=0 occurs frequently for 
               non QSAM files; for example, TYPE1415 records for SAS    
               data libraries always have BUFNO=0 (because the access   
               method for SAS Data Libraries is EXCP Access Method).    
   Thanks to Tom Parquette, AXA Technology Services, USA.               
   Thanks to ???, ???, CANADA.                                          
                                                                        
Change 27.360  Fixed in MXG 27.10, but in MXG 27.09, PDB.ASUM70PR could 
VMXG70PR       have PCTCPUBY much greater than 100%, for systems with   
Jan 19, 2009   IFL engines, if the IFL also has the highest LPARNUM.    
                 Similar to Change 27.123, fixed by Change 27.294/325,  
                 but invalid values in PCTCPUBY were not mentioned in   
                 the text of those changes.                             
               This is only change text; no code was changed.           
   Thanks to Tee Brown, Blue Shield Blue Cross of South Carolina, USA.  
                                                                        
Change 27.359  The new WAIT=N argument in %VGETDDS causes allocations to
VGETDDS        be WAITed for N minutes if the DSNAME is already in use. 
Jan 19, 2009   SAS tests every 15 seconds and if the DSNAME is freed in 
               those N minutes, the allocation proceeds as normal.      
   Thanks to George Pandzik, USAA, USA.                                 
                                                                        
Change 27.358  Support for OMEGAMON ONDV SMF 112 SUB-SUBTYPE '0100'X,   
EX112USD       optional USREVNT1 or User Function clock/count section.  
EX112UST          dddddd  Dataset   Description                         
IMAC112           112USD  T112USRD  USREVNT1 Detail                     
VMAC112           112UST  T112USRT  USREVNT1 Totals                     
VMXGINIT       In Omegamon/CICS modules KC2GLB or KC2GLBOL, in the      
Jan 19, 2010   RKANPARU or RKANPARM library, you can define up to 10    
Jan 29, 2010   "User Functions" that can populate the 10 clock/counter  
               pairs in this new segment. You define the Function Names 
               you plan to use, and CLOCK START MISC and CLOCK STOP MISC
               will accumulate the MISC duration and count of starts in 
               the first pair. Names MISC, Sybase, Tablebase are used   
               in this first example, so those names are used to label  
               the first three sets of detail/total count/clocks, and   
               only the first three sets are kept by default.  If you   
               create more User Function data, you can use the _K112UST 
               and K112USD macros to keep more than three, and you can  
               use the EX112UST exit to change the existing three or to 
               add new labels for the other counters.                   
   Thanks to Henry Steinhauer, Northwestern Mutual, USA.                
                                                                        
Change 27.357 -Some (new) TRANSLATE() functions had '00' or '80' where  
VMAC80A        '00'x or '80'x should have been specified.               
Jan 17, 2010  -TYPE8066 dataset is enhanced with variables from RACFTYPE
               6, 318, 319, and 320.                                    
   Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
                                                                        
Change 27.356 -The standard SAS JCL procedure can now be used for MXG on
VMXGCNFG       z/OS.  You do not need a separate MXGSASVn JCL procedure;
MXGNAMES       instead, use this JCL example (in member JCLMXG), after  
JCLMXG         you EDIT the DSNAMES of your MXG Source, MXG "USERID" and
CONFIMXG       MXG Formats datasets into your MXGNAMES member in your   
Jan 17, 2010   MXG "USERID" tailoring library:                          
                                                                        
               // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'              
               //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR 
                                                                        
               or you can provide the names in the jobstream, with:     
                                                                        
                 // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'            
                 //MXGNAMES DD *                                        
                  %LET MXGUSER1=HLQ.MXG.USERID;                         
                  %LET MXGSOURC=HLQ.MXG.SOURCLIB;                       
                  %LET MXGFORMT=HLQ.MXG.FORMATS;                        
              -In addition, the VMXGCNFG macro that was designed by Rich
               allocates the //SOURCLIB with OPEN_ED-1047 encoding; by  
               doing so, the setting for NLSCOMPATMODE is moot, and by  
               doing this, all NLS sites running with a locale that is  
               non-ENGLISH_UNITEDSTATES will never need to worry about  
               NLSCOMPATMODE, so MXG never has to worry about those SAS 
               language encoding issues again.                          
                                                                        
               There can NOT be a LIBRARY DD in JCL with CONFIMXG, but  
               you can have a USER FORMAT library.  The CONFIMXG member 
               %INCLUDEs MXGNAMES and then %INCLUDEs VMXGCNFG from the  
               &MXGSOURC path and then runs the %VMXGCNFG %macro.       
               The MXGNAMES member defines MXGFORMT and MXGFORMU and    
               VMXGCNFG LIBNAME-allocates MXGFORMT to LIBRARY LIBREF and
               LIBNAME-allocates MXGFORMU to the USRFORMT LIBREF/DDNAME.
               If both MXGFORMT and MXGFORMU are specified in the       
               MXGNAMES then the SAS system option FMTSEARCH is set:    
                 OPTIONS FMTSEARCH=(USRFORMT LIBRARY)                   
               so the user's format library is searched first.          
    Member JCLINSTL has the example JCL for ALOCUSID and FORMATS.       
    Both of those examples use MXGSAS94 JCL Procedure to create FORMATS,
    but sites with National Language Support, should consider CONFIMXG  
    which protects for a future SAS version in which the NLSCOMPATMODE  
    option will be removed.  CONFIMXG uses your standard site's SAS JCL 
    procedure and options:                                              
      // EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'                     
      //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR          
    But to create or update your FORMATS library with CONFIMXG:         
       a. The DSNAME of that format library must be named in MXGNAMES   
       b. There must be no //LIBRARY DD in the JCL of this job step.    
       c. You must use this syntax in the SYSIN for a new FORMATS:      
           // EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'                
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR     
           //SYSIN DD *                                                 
             LIBNAME LIBRARY CLEAR;                                     
             LIBNAME LIBRARY 'MXGV3603.FORMATS'                         
                             DISP=(NEW,CATLG)                           
                             SPACE=(CYL(10,3))                          
                             UNIT=SYSDA;                                
           or use DISP=OLD to replace your existing formats library.    
                                                                        
   Thanks to Rich Anderson, SAS Institute Technical Support, USA.       
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.355  For execution under Windows, the unconditional create of 
VMXGALOC       existing directories or the delete of non-existent ones  
Jan 17, 2010   caused popups that delay jobs until the popup is cleared.
               An OPTIONS NOXWAIT was relocated around the TREND dataset
               allocations, which will eliminate the popup messages, but
               the creations/deletions are also now done in conditional 
               tests, now that we know these Windows commands exist:    
                 This command tests if a folder exists before trying to 
                 delete its files                                       
                   If exist "m:\asdf\fdsa" del /q "m:\asdf\fdsa\*.*"    
                 and this command makes sure a folder doesn't exist     
                 before trying to create it:                            
                   If not exist "m:\asdf\asdf" md "m:\asdf\asdf"        
   Thanks to Jim Quigley, ConEd, USA.                                   
                                                                        
Change 27.354  An MXGNOTE now prints the value of _IMSVERS on the log of
IMACIMSA       the TYPEIMSA and TYPEIMSB steps of the JCLIMSL6 job. If  
JCLIMSL6       IMS V9 records are read with _IMSVERS set to 10, an 08x  
TYPEIMSA       record is dumped with INVALID YYYY error; in V9, the YYYY
TYPEIMSB       is located byte 81, but with _IMSVERS of 10, MXG tries to
Jan 15, 2010   to read the YYYY starting in byte 101.  Before MXG 27.01 
               and Change 27.033, _IMSVERS was set either in IMACIMSA or
               in your IMACKEEP, but now its value is set with statement
                  %LET MACKEEP=  MACRO _IMSVERS 10.0 %  ;               
               in the //SYSIN test in JCLIMSL6 (twice), so that you do  
               NOT have to EDIT IMACIMSA/IMACKEEP to define _IMSVERS.   
               This change just adds that diagnostic MXGNOTE so you can 
               see the actual value, if you should also see a hex dump! 
               Comments were revised to document this change.           
   Thanks to Douglas G. Wells, First National Bank of Omaha, USA.       
                                                                        
Change 27.353  While I expected RMFINTRV would be used to create a small
VMXGRMFI       number of "WORKnn" workloads, like 20 or so, for ease in 
Jan 15, 2010   consolidation of scores of Service/Reporting Class into  
               logical workloads, RMFINTRV can now be created with up to
               999 sets of "WORKnnn" variables, and also supports up to 
               9999 Service and Reporting Classes per Workload.         
   Thanks to Wayne Bell, UniGroup, Inc, USA.                            
                                                                        
Change 27.352  Variable SMF42JOQ was incorrectly "spelled" with a zero  
VMAC42         instead of an "oh".                                      
Jan 12, 2010                                                            
   Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.                     
                                                                        
Change 27.351 -READDB2 didn't invoke the EXdddddd member when selection 
READDB2        generated an _Edddddd macro with only OUTPUT _Wdddddd,   
Jan 12, 2010   causing any new variables you created in your tailored   
               EXdddddd to be not created.  READDB2 now always %INCLUDEs
               the EXdddddd member in its generated MACRO _Edddddd text.
               EXCEPT:  The EXPDBACB exit is NEVER called when READDB2  
               was asked to create DB2ACCTB, because the MXG EXDB2ACB   
               does NOT output DB2ACCTB (because of potential size), and
               if READDB2 calls your tailored EXDB2ACB that did output, 
               then we would output DB2ACCTB twice.                     
              -Logic for selection with DB2xxxx=AAAA/BBBB/CCCC/DDDDD    
               was corrected and simplified so it always works as doc'd.
              -PROC COPY when PDBOUT= is specified only copies DB2 data 
               (and not any other datasets that happened to be in WORK).
   Thanks to Raff Rushton, IBM Global Services, USA.                    
                                                                        
Change 27.350  This 1994 example analysis of "bands" of Usage is updated
ANALUSAG       to use TYPE72GO instead of TYPE72 and an example JCL was 
Jan 12, 2010   added in the comments.                                   
   Thanks to R. Wells, American General Finance, USA.                   
                                                                        
Change 27.349  Support for RMM APAR OA28930 which relocates the fields  
VMACEDGR       RDBLKCNT and RDTOTAL and expands them to 20 (EBDCIC) NUM 
Jan 12, 2010   charaters in the DEXT and XEXT records.                  
              -Support for RMM APAR OA24025 which adds fields RDBESKEY  
               (DEXT) and XDBESKEY (XEXT) with the CA Tape Encryption   
               Key value.                                               
   Thanks to John Grasing, MetLife, USA.                                
                                                                        
Change 27.348  The Optional SYSLOG Message Capture in MXGTMNT Tape Mount
ASMTAPEE       Monitor program expected a maximum of 255 lines in a     
Jan 12, 2010   multi-line Console Message (see Change 27.336 text), but 
               HASP636 message caused an SVC DUMP "MXG Monitor Extension
               Subtask Abend" with its 1541 lines!  This update, ML-46, 
               avoids the SVC Dump by skipping messages with over 255   
               lines, but is only a circumvention; once we can create a 
               similar large message on our test system, so we can see  
               the control block structure, we will create an ML-47     
               update that will support any multi-line console message. 
   Thanks to Beau Chavis, Bank of America, USA.                         
   Thanks to Skip Abadie, Bank of America, USA.                         
                                                                        
Change 27.347  TMON/VTAM "SI" record Interval variables were not all    
VMACTMVT       input; I apparently had an incorrect DSECT or misread it.
Jan  8, 2010                                                            
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.346  Analysis of Hourly CPU Times in MXG TYPE70, TYPE72GO, and
ANAL307X       SMFINTRV datasets (or in ITRM XTY70, XTY72GO, & XSMFINT) 
Jan 14, 2009   to compare times captured in LPAR Dispatch and Effective,
Feb 22, 2010   captured in Service Classes, and captured in SMF Interval
               Address Space records.  Two reports, one BY SYSTEM and   
               one with detail BY SYSTEM SRVCLASS are produced.         
               The identification of the "Hour" of RMF and SMF Interval 
               observations is not straightforward; you must start with 
               the "projected interval end time" SYNCTIME/SMF70GIE and  
               then subtract from it to get the STARTHOUR, and the value
               to subtract is different if you have SYNC(59) specified  
               in SMFPRMxx instead of the recommended SYNC(0) option.   
                  Note: MXG has ALWAYS recommended SYNC(0) so that RMF  
                  and SMF interval records are written at 00/15/30/45 to
                  create clean, comparable intervals.  But if you still 
                  have MICS, then you are unfortunately stuck with using
                  SYNC(59) to write at 14/29/44/59 minutes, because MICS
                  still uses SMFTIME to define its intervals, a (poor)  
                  design that requires records be written early.        
                  Feb 22, 2010:  The output datasets created by ANAL307X
                  now include TYPE30_6 (deaccumulated) interval data and
                  SMFINTRV, so the subtypes 2/3/6 data is included in   
                  this comparison of 30, 70, and 72 interval CPU times. 
   Thanks to Dick Cook, North Carolina Dept of Info Technology, USA.    
   Thanks to Francisco Ojeda, SAS Institute, USA.                       
   Thanks to Joe Piechota, SAS Institute, USA.                          
                                                                        
Change 27.345  This JCL example uses UTILBLDP to process CICS and DB2   
JCLCIDB2       SMF records to create PDB.ASUMUOW and PDB.CICS for       
Jan  7, 2010   complete analysis.  The output datasets are COMPRESSED   
               but COMPRESS=NO is used for the intermediate datasets,   
               to save CPU time (at the cost of doubling WORK space).   
                                                                        
Change 27.344  Variables LPCTBY and PCTLPBY were missing in dataset     
VMXG70PR       PDB.ASUMCELP for the LPARNAME='PHYSICAL'.                
Jan  7, 2010                                                            
   Thanks to Karl Lasecki, Chemical Abstracts, USA.                     
                                                                        
Change 27.343  %VMXGSET is enhanced to permit multiple datasets to be   
VMXGSET        read from each data library, and new option APPEND=YES   
Jan  6, 2010   removes the semi-colon from the constructed SET statement
               so that you can add other dataset(s).  This syntax:      
                %VGETDDS(DDNAMES=PDB);                                  
                DATA COMBINE.JOBS;                                      
                %VMXGSET(DATASET=JOBS,APPEND=YES) DAY.SPUNJOBS;         
               will read all of the JOBS datasets in the PDBx DDNAMEs   
               and the DAY.SPUNJOBS dataset.                            
   Thanks to George Pandzik, USAA, USA.                                 
                                                                        
Change 27.342  XAMSYS records from XAM Release 3.4 had SEGLEN=168, but  
VMACXAM        MXG code for Release 3.7 expected SEGLEN=220, causing    
Jan  5, 2010   an MXG ERROR message for each record.  Now, the XAMSYS   
               record's length is tested and only the old variables are 
               input for SEGLEN=168.                                    
   Thanks to Rodger Foreman, Acxiom, USA.                               
   Thanks to Jerry Urbaniak, Acxiom, USA.                               
                                                                        
Change 27.341  Change 27.257 added a warning and correction if SUBTYPE  
VMACSMF        in an SMF record exceeded 255 (because the SMF record    
Jan  5, 2010   creator incorrectly stored their subtype in the left byte
               instead of the correct location in the right byte).      
                 The correction is ONLY needed when just the SMF header 
                 logic is used (only in MACRO _SMF, or UTILGETM), so    
                 that the real SUBTYPE value is available for reporting 
                 or selection.                                          
               Now, the WARNING is NOT printed by default; you can print
               the warning with  %LET MXGDEBUG=VMACSMF;                 
   Thanks to Jerry Urbaniak, Acxiom, USA.                               
                                                                        
Change 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLY changed the 
VMACSRMH       Summary Record, which caused zero observations to be     
Jan  5, 2010   created in datasets SRMHSMAP and SRMHSMDE.  New variables
                    S04DBUSY S04DOVER S04DINTV S04DNCNT S04DUFLG        
               are now added to SRMHSMDE and the PTF is now supported.  
   Thanks to Kim Nguyen, National Australia Bank, AUSTRALIA.            
   Thanks to Shu chun Lai, National Australia Bank, AUSTRALIA           
   Thanks to Anne Chung, National Australia Bank, AUSTRALIA.            
                                                                        
Change 27.339  Change 27.046 (MXG 27.02) changed four error variables   
VMACEDGR            RVTRERR RVTWERR RVPRERR RVPWERR                     
Jan  4, 2010   from character to numeric when IBM changed their lengths 
               from four to five bytes, but that was not documented.    
               If datasets built with MXG 27.01 or earlier are combined 
               with datasets built with MXG 27.02 or later, then this   
               ERROR: VARIABLE RVPERR DEFINED AS BOTH CHAR AND NUMERIC  
               will result.  The only solution is to convert those old  
               character variables to numeric variables prior to merge  
               with the new datasets.  This can be done with            
                  DATA PDB.EDGRVEXT;                                    
                   SET PDB.EDGRVEXT                                     
                     (RENAME=(RVTRERR=XRVTRERR                          
                              RVTWERR=XRVTWERR                          
                              RVPRERR=XRVPRERR                          
                              RVPWERR=XRVPWERR));                       
                   RVTRERR=INPUT(XRVTRERR,5.);                          
                   RVTWERR=INPUT(XRVTWERR,5.);                          
                   RVPRERR=INPUT(XRVPRERR,5.);                          
                   RVPWERR=INPUT(XRVPWERR,5.);                          
                   DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;            
                   LENGTH DEFAULT=4;                                    
                  DATA PDB.EDGRXEXT;                                    
                   SET PDB.EDGRXEXT                                     
                     (RENAME=(RVTRERR=XRVTRERR                          
                              RVTWERR=XRVTWERR                          
                              RVPRERR=XRVPRERR                          
                              RVPWERR=XRVPWERR));                       
                   RVTRERR=INPUT(XRVTRERR,5.);                          
                   RVTWERR=INPUT(XRVTWERR,5.);                          
                   RVPRERR=INPUT(XRVPRERR,5.);                          
                   RVPWERR=INPUT(XRVPWERR,5.);                          
                   DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;            
                   LENGTH DEFAULT=4;                                    
   Thanks to Steve Sombke, American Century, USA.                       
                                                                        
Change 27.338 -The new DATEJUL= argument to generate dataset\directory  
VGETDDS        names that contain the Julian Date didn't stop at 2009365
Jan  3, 2010   but tried to create 2009366, 2009367, etc.  The arguments
               are now validated and if both start and end are Julian,  
               then the names are built with Julian dates.  Otherwise,  
               if the arguments are numeric, then the names contain just
               numeric sequences.  When Julian dates are detected, then 
               SAS Date functions are used, so the names will correctly 
               roll forward or backward and both year-end AND leap-year 
               dates are correctly generated as the names.              
              -The length of the Julian Date argument can be either five
               (09360) or seven (2009360) digits, but the directory or  
               z/OS dataset name must have the same number of digits.   
               So you can use                                           
                 %VGETDDS(DATEJUL=h:\mxg\d,start=09360,end=10010);      
               for directory names h:\mxg\d09365 thru h:\mxg\d10010     
               or you can use                                           
                 %VGETDDS(DATEJUL=h:\mxg\d,start=2009360,end=2010010);  
               for directory names h:\mxg\d2009365 thru h:\mxg\d2010010 
   Thanks to George Pandzik, USAA, USA.                                 
                                                                        
====== Changes thru 27.337 were in MXG 27.11 dated Dec 31, 2009======== 
                                                                        
Change 27.337  The sort order for TYPE70PR was wrong in 27.10 MONTHBLD; 
MONTHBLD       a second MACRO _BYLIST and _MNTHBLD should have been     
Dec 30, 2009   removed.  The correct sort order is reduced to now be    
                 SYSPLEX SYSTEM SYSNAME STARTIME                        
               to avoid NOT SORTED conditions.                          
   Thanks to Winnie Pang, Hawaii Medical Services Association, USA.     
                                                                        
Change 27.336  Variable SYSLTEXT was arbitrarily INPUT as length $1024, 
VMACTMNT       sufficient for all tape-mount-related SYSLOG text,       
Dec 24, 2009   but other SYSLOG records that can be written by MXGTMNT  
               can be 32384 bytes long; that is the maximum number of   
               lines in a multi-line WTO SYSLOG message (255) times the 
               maximum length of each message (126) plus one byte we add
               between each message (254).  MXGTMNT processes the       
               segmented records, which is the way the system presents  
               multi-line WTOs via the console interface.  MXGTMNT      
               concatenates the messages into one block in one subtype 9
               as opposed to creating multiple subtype 9s.  So MXGTMNT  
               is covered unless IBM increases the number of lines or   
               message length which is not very likely but easily       
               addressed if they do. SYSLTEXT is now 32384.             
   Thanks to Beau Chavis, Bank of America, USA.                         
   Thanks to Skip Abadie, Bank of America, USA.                         
                                                                        
Change 27.335  A stray  */  at the end of ANALFIOE prevented any other  
ANALFIOE       subsequent %INCLUDEs to be bypassed.  Unmatched comment  
Dec 22, 2009   pairs often cause strange/unpredictable results.         
   Thanks to Brian Harvey, HCL America, USA.                            
                                                                        
Change 27.334  MXG 27.10 only.  Macro variable &EPDBINC was accidentally
EXPDBINC       left in the EXPDBINC member, but it is already correctly 
Dec 21, 2009   located in BUILPDx, causing a second unwanted invocation 
               if %LET EPDBINC= was used to tailor BUILDPDB.  However,  
               it should be noted that there is an inconsistency between
               the syntax of the EPDBINC macro variable and the EXPDBINC
               member, to include VMACxxxx's for BUILDPDB tailoring:    
                %LET EPDBINC=   MEMBER1 MEMBER2 ;                       
                EXPDBINC code:  %INCLUDE SOURCLIB(MEMBER1 MEMBER2);     
               The value of %LET EPDBINC= is one or more MEMBER names to
               be %INCLUDEd, while the code to use in the alternative   
               EXPDBINC member is one or more %INCLUDE statements.      
              -UTILBLDP sets &EPDBINC if USERADD=xxxx was specified when
               it created its output SYSIN file, so this error could    
               cause a perfectly-running "BUILDPDB" that was built by   
               %UTILBLDP to fail when 27.10 is 'dropped in'. Copy the   
               EXPDBINC member into your tailoring library and remove   
               the &EPDBINC at the bottom, and your job will then run.  
               (Fortunately, the error is a syntax error at the start of
               the BUILDPDB run, so it is fully restartable.)           
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.             
                                                                        
Change 27.333  The RMF Summary Report (REPORT=SMRY) was incorrect for   
ANALRMFR       most fields; averages of averages were printed, and the  
Dec 20, 2009   CPU Busy included Specialty Engines when it shouldn't.   
Dec 31, 2009                                                            
   Thanks to Lisa L. Lawver, Land's End, USA.                           
                                                                        
Change 27.332  The Analysis of Job Events selects all SMF records for   
ANALJOBE       chosen jobs and prints the sequence of events in the life
Dec 18, 2009   of a job.  The MACJBCK selection example tested JESNR,   
               but JESNR doesn't exist in many job-related records that 
               are read.  Comments were revised for selection choices.  
              -The logic was restructured to eliminate uninitialized and
               missing values, and durations of DSENQTM, LOADTM, and the
               SELAPSTM are correctly printed with associated events.   
   Thanks to Douglas C. Walter, Citigroup, USA.                         
                                                                        
Change 27.331 -Support for TOKDANAM='AUTOUID' in dataset TYPE80TK, and  
VMAC80A        protection for unknown TOKDANAM revised to prevent the   
Dec 16, 2009   STOPOVER ABEND.                                          
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.  
                                                                        
Change 27.330 -Variable SMF82PDK now input as VARYING4096, vice 256 and 
VMAC82         longer length is protected if SMF82PLL is GT 4096.       
Dec 16, 2009  -SMF82PTA is input as $EBCDIC8. vice $CHAR8. and no longer
VMAC80A        formatted $HEX.                                          
Jan 17, 2009  -SMF82RKN is input as $CHAR64. vice $CHAR16 and format is 
               updated.                                                 
   Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
                                                                        
Change 27.329  MXG 27.10 only, and ONLY if _S110ST is used to only sort 
VMAC110        the statistics dataset. ERROR: CICIDNNR NOT FOUND because
Dec 15, 2009   that variable was not kept in the new CICSIDND data set. 
               But the two new Identity datasets, CICSIDND and CICSIDNT 
               should not have been in the _S110ST "sort statistics"    
               macro; they are from subtype 1, not subtype 2, records,  
               and they are NOT sorted in _S110, as they can be large   
               volume datasets.  Four other non-statistics dataset from 
               subtype 1 were also removed from _S110ST sort macro.     
               These subtype 1 datasets are not sorted by MXG:          
               /*_SCICRDS - CICSRDS  IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDS - CICSRDS  IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDF - CICSRDFI IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDQ - CICSRDQU IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICIDN - CICIDNTY IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICIDD - CICIDNDD IS NOT SORTED, CAN BE HIGH VOLUME*/
               unless you choose to add their _Sdddddd invocation in the
               EXPDBOUT (for BUILDPDB), or after your TYPE110 include.  
               The Pdddddd/Wdddddd resets were also removed from the    
               _CICSTAT and _CICSTAS macro definitions for consistency. 
   Thanks to Glenn Bowman, Wakefern, USA.                               
                                                                        
====== Changes thru 27.327 were in MXG 27.10 dated Dec  6, 2009======== 
                                                                        
Change 27.327 -The DURATM variable in PDB.ASUMMIPS is the "expected"    
ASUMMIPS       interval of your summarization, e.g. 1 Hour, so it does  
Dec  6, 2009   not report if there were less than a full hour input     
               (i.e., the last interval).  New variable DUR70 created in
               PDB.RMFMSUSE contain the actual duration of the TYPE70   
               records that were summarized, so you can delete those    
               short intervals with DUR70 LT DURATM, or use DUR70 to    
               identify incomplete (or possibly outage) intervals.      
              -ASUMMIPS now works with &KEEPALL=NO; it created output   
               obs only if the MXG default &KEEPALL=YES was in effect,  
               but that was an MXG oversight/error now corrected.       
   Thanks to Willy Iven, BNP Paribas Fortis, BELGIUM.                   
                                                                        
Change 27.326  Variable QDSTQCIT should not have been deaccumulated in  
VMACDB2        PDB.DB2STATS.                                            
Dec  5, 2009                                                            
   Thanks to Terry L. Berman, DST Systems, USA.                         
                                                                        
Change 27.325  z/OS 1.11 ONLY: INVALID TYPE 0 RECORD DETECTED, DELETED  
VMAC0          with LENGTH=60 is an MXG error; that new record length is
Dec  3, 2009   correct, and should have been output to TYPE0/IPLS. MXG  
               Change 27.229 decoded the new z/OS 1.11 field, but I had 
               forgotten about this (VERY OLD) test for invalid length. 
                 This test exists because it is easy for a SYSPROG to   
                 accidentally create an ID=0 SMF record when trying to  
                 write a "user" SMF record, and there is a very high    
                 cost (or embarrassment) if MXG reports that there was  
                 an IPL when one had not happened!                      
   Thanks to Douglas C. Walter, Citigroup, USA.                         
                                                                        
Change 27.324  Support for IBM's InfoSphere Change Data Capture (CDC)   
EXCDCLOG       product's user SMF record creates these new datasets:    
EXCDCSRC         dddddd   Dataset   Description  Contains Segments      
EXCDCSYS         CDCLOG   CDCLOGCA  LOG CACHE     DLR DCW               
EXCDCTGT         CDCSRC   CDCSOURC  SOURCE        SCT SDT DSL CDI CDO   
FORMATS          CDCTGT   CDCTARGT  TARGET        TCT DTC CDI CDO       
IMACCDC          CDCSYS   CDCSYSTM  SYSTEM        OSC CIT PAL MAA CMO   
TYPECDC                                           CLS CVF DSC DCM DLP   
TYPSCDC                                           DAL PAA CCI CCO       
VMACCDC                                                                 
VMXGINIT                                                                
Dec  3, 2009                                                            
   Thanks to Jerry Urbaniak, Acxiom, USA.                               
                                                                        
Change 27.323  Harmless VARIABLE DURATM UNINITIALIZED note for CPS70PR7 
VMXG70PR       is eliminated.                                           
Dec  2, 2009                                                            
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA.                     
                                                                        
Change 27.322 -New "STATS" value for IFCIDS= in READDB2 creates only the
READDB2        PDB.DB2STATS Interval Statistics Dataset in PDBOUT=PDB,  
Dec  3, 2009   an alternative to the value "STATISTICS" that creates ALL
               DB2 Statistics Datasets in the PDBOUT.  PDB.DB2STATS is  
               is created from DB2STAT0/DB2STAT1/DB2STAT4 and summarized
               DB2STATB, all of which are left in //WORK with "STATS".  
               The PDB.DB2STATS contains all of DB2STAT0/STAT1/DB2STAT4.
              -NOTE APR 2012:  SEE CHANGE 30.077, IFCIDS=STATS CHANGED  
               to create PDB.DB2STATS and PDB.DB2STATB.                 
              -The "ACCOUNT" value creates all DB2ACCTx datasets, but   
               you can select a subset using the WANTONLY= argument.    
               You can now just name the wanted DB2ACCTx dataset in your
               IFCIDS= argument, in place of ACCOUNT, and only those are
               created.  Both IFCIDS= and WANTONLY= values can now be an
               MXG dataset name (e.g., DB2ACCTP, DB2ACCT), although the 
               original unique-to-READDB2-token-names (DB2ACTP,DB2ACCT) 
               that are listed in READDB2 comments are still valid.     
                 So if you only want the three common datasets created, 
                %READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS,PDBOUT=PDB) will 
               create PDB.DB2ACCT, PDB.DB2ACCTP, and PDB.DB2STATS from  
               SMF 100 and 101 records.                                 
              -DB2 V8 only: The "DB2STAT4" is an SMF 102 IFCID=225 trace
               record; if you have those data, this syntax              
               %READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS 225,PDBOUT=PDB);  
               creates T102S225 and use it also to create PDB.DB2STATS. 
                                                                        
Change 27.321 -DB2 variable QPACAAFG in DB2ACCTP identifies the type of 
FORMATS        Package that was executed and decoded by $MGDB2PK format 
MRGDB2         with new-in-DB2-V9.1 value of '04:NATIVE SQL' added.     
Dec  2, 2009     VALUE $MGDB2PK                                         
                  '  '='BLANK:NOT DEFINED'                              
                  '01'='01:STORED PROCEDURE'                            
                  '02'='02:USER DEFINED FUNCTION'                       
                  '03'='03:TRIGGER EXECUTING'                           
                  '04'='04:NATIVE SQL'                                  
              -New MRGDB2 member will be renamed or become an example.  
              -It merges variables from PDB.DB2ACCT with PDB.DB2ACCTP   
               to create PDB.ENHACCTP for Enhanced Package Accounting.  
               In this example, variable DB2PARTY is added, so ACCUMACC 
               Package ROLLUP RECORDS (QWACRINV=1,2,3 DB2PARTY='R') obs 
               can be identified;  ROLLUPs don't have valid values in   
               these Package (DB2ACCTP) variables, so this example sets 
               all these variables in PDB.ENHACCTP to blank/missing for 
               the ROLLUP Package records:                              
                 IF DB2PARTY='R' THEN DO;                               
                     /* DOCUMENTED INVALID IN PK67870: */               
                   QPACLOCN=' ';                                        
                   QPACCOLN=' ';                                        
                   QPACPKID=' ';                                        
                                                                        
                   /* DOCUMENTED INVALID IN DSNWMSGS: */                
                   QPACAANM=' ';                                        
                   QPACARNA=.;                                          
                   QPACASCH=' ';                                        
                   QPACCANM=.;                                          
                   QPACCAST=.;                                          
                   QPACCONT=' ';                                        
                   QPACEJST=.;                                          
                   QPACLOCN=' '; /*YES, IN BOTH*/                       
                   QPACSCB=.;                                           
                   QPACSCE=.;                                           
                   QPACSPNS=.;                                          
                   QPACSQLC=.;                                          
                   QPACUDNU=.;                                          
                   QPACUDST=.;                                          
                 END;                                                   
              -The sort order of the new example PDB.ENHACCTP dataset is
                 BY QWHSSSID QWHCAID QWHCOPID QWHCPLAN QWHSACE          
                    QWHSLUUV DESCENDING QWHSSTCK;                       
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.320  CICS User fields SRCE,SRCETYPE,SRCEPROG,MSGLEN are       
IMACAAAA       supported in listed new IMACICxx CICS exit members.      
IMACICUF          IMACICUF - SRCE                                       
IMACICUG          IMACICUG - SRCETYPE                                   
IMACICUH          IMACICUH - SRCEPROG                                   
IMACICUI          IMACICUI - MSGLEN                                     
UTILEXCL                                                                
VMAC110                                                                 
Nov 26, 2009                                                            
                                                                        
Change 27.319 -DB2ACCT obs for Java Universal Type 4 JDBC Driver (JCC)  
FORMATS        (QMDAPTYP='JCC') did not populate these QMDASQLI fields: 
VMACDB2          QMDAPLAT QMDAAPPL QMDAATID QMDASFLN  ACCOUNTn          
Nov 25, 2009  -Cosmetic: Format $MGDB2PN added JCC for QMDAPTYP.        
                 'ARI'='ARI:DB2 FOR VM,VSE'                             
                 'DSN'='DSN:DB2 FOR Z/OS'                               
                 'JCC'='JCC:UNIVERSAL JDBC DRIVER'                      
                 'QSQ'='QSQ:DB2 FOR I/SERIES'                           
                 'SQL'='SQL:DB2 FOR LINUX/UNIX/WIN'                     
   Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.        
                                                                        
Change 27.318  Cosmetic; no change if COMPRESS=YES default is unchanged.
VMAC102        Several DB2 text-containing variables were $32000 LENGTH 
Nov 24, 2009   because old DSECTS had no clue of their maximum lengths, 
               but some of these SMF 102 fields are shortened to their  
               (newly documented, probably unchanged) stored lengths:   
                 QW0059CN  $128 QW0061CN  $128 QW0063ST $5000           
                 QW0145TX $4000 QW0203PA  $128 QW0206MS  $256           
                 QW0206MR  $256 QW0206HR   $64 QW0208MS  $256           
                 QW0208MR  $256 QW0236MS  $256 QW0236MR  $256           
               These text fields are still $32000 stored length:        
                 QW0004MS QW0005MS QW0062ON QW0064CN QW0065CN QW0066CN  
                 QW0090CT QW0092P1 QW0097P1 QW01242T QW0140TX QW0141TX  
                 QW0142TX QW0168ST QW0180DS QW0194DS QW0204TH QW0350SP  
                                                                        
Change 27.317  Support for APAR OA28670 RMF 70 Crypto Express3 Feature. 
FORMATS       -Variables R7023CT and R7024CT, Crypto Processor Type, are
VMAC7072       now decoded by $MGRMFCX format.                          
Nov 20, 2009  -Dataset TYPE70Y2 new variables created by the APAR:      
                 R702CDLV='ICSF*DATA*LEVEL'                             
                 R702AESC='AES*ENCIPHER*CALLS*SENT'                     
                 R702AESB='AES*ENCIPHER*BYTES*PROCESSED'                
                 R702AESI='AES*ENCIPHER*OPERATIONS'                     
                 R702AEDC='AES*DECIPHER*CALLS*SENT'                     
                 R702AEDB='AES*DECIPHER*BYTES*PROCESSED'                
                 R702AEDI='AES*DECIPHER*OPERATIONS'                     
                                                                        
Change 27.316  This JCL example shows how to split MXG into parallel job
JCL40GIG       streams, to reduce run times, or to run parts of MXG more
Nov 19, 2009   than once per day (like multiple CICSTRANs), etc, and is 
               the example for the DOC40GIG parallelization document.   
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.315  New HSMMH and SAFUSER variables are created in TYPETPMX. 
VMACTPMX       from $HSM_MH and $SAF_US field names in the ThruPut Mgr's
Nov 18, 2009   user SMF record.                                         
              -Doc: ThruPut Manager delays:                             
                DCS - Dataset Contention Delays; when TPM detects that a
                      job needs a dataset that is being held, it holds  
                      the new job.                                      
                DBS - Device Busy Delays.                               
   Thanks to Betty Wong, BOA, USA.                                      
                                                                        
Change 27.314 -SMF 82 Crypto dataset TYPE8219 datetime variables were on
VMAC82         GMT, but now SMF82XTD/XTN/XTW are shifted by GMTOFF82 to 
Nov 17, 2009   local time.                                              
              -New variable SMF82ELP, Elapsed Duration, is now created  
               in TYPE8219 and TYPE8220 datasets.                       
              -Label for SMF82SSI corrected.                            
   Thanks to Cesar Cocco, Citigroup, USA.                               
                                                                        
Change 27.313  Analysis of Job Initiator Queue now uses PDB.SPUNJOBS    
ANALINIT       dataset only if it exists, eliminating NOT FOUND error.  
Nov 15, 2009                                                            
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.312  MXG 27.09 only.  Change 27.254 was incorrect for NTSMF   
VMACNTSM       processing on ASCII; that change was intended only for   
Nov 15, 2009   VBS format data.  The RECFM=V is restored for ASCII.     
   Thanks to Jim Quigley, ConEd, USA.                                   
                                                                        
Change 27.311  Support for CTG 8.0 (COMPATIBLE) fields added to SMF 111 
VMAC111        record for TY111GD dataset:                              
Nov 14, 2009     CTGIXACO='INTERVAL*XA*TRANS*COMPLETED*HA GROUP'        
                 CTGLXACO='LIFETIME*XA*TRANS*COMPLETED*HA GROUP'        
                                                                        
Change 27.310  New parameter DATEJUL= creates DSNAMEs with the date in  
VGETDDS        Julian format, YYYYDDD, as an alternative to DATEBASE=   
Nov 17, 2009   which creates the DATE in the DSNAME in DDMONYY format.  
               The START and END values can be specified with MDY values
               or JULIAN values, or even a numeric string.              
   Thanks to Brian Harvey, HCL America, USA.                            
                                                                        
Change 27.309 -z/VM dataset VXSYTEPM variable's values were carried from
FORMATS        from prior CMG segments (so ESCON variables could be     
VMACVMXA       populated in FICON observations).  Now, the "other" CMG's
Nov 11, 2009   variables are set to missing values.                     
              -New variable CHPIDTYP identifies the type of channel and 
               is formatted by new $MGVXACH format, which identifies the
               type of OSA adapter, and it should be used in your sorts.
              -New variables PCTCPCBY and PCTLPABY are calculated from  
               Work Units (like TYPE73) for CMG=2 (FICON) records.      
   Thanks to Melanie Hitchings, BT, ENGLAND.                            
                                                                        
Change 27.308  MXG 27.08-27.09. SYNC59=NO again default VMXGDUR,VMXGSUM.
VMXGDUR                                                                 
VMXGSUM        Caused minor differences in hourly counts in PDB.CICS    
Nov 10, 2009   when minute 59 count/resources were shifted to next hour.
ASUMCICX       Change 27.214 changed the internal default to SYNC59=YES,
ASUMCICS       in these two internal members that summarize everything, 
ASUMCICS       its text claiming "ALWAYS SAFE"! But that is ONLY true if
ASUMCICT       the input data being summarized is "interval" data, i.e.,
ASUMCIMS       it already contains the Interval Start/End times, like   
ASUMDB2A       RMF,SMFINTRV,DB2STATS, or if SYNC59=YES was specified in 
ASUMDB2B       the ASUM/TRND/etc that invoked %VMXGSUM.                 
ASUMDB2G                                                                
ASUMDB2P       Instead, when the input data being summarized is "events"
ASUMDBDS       or "transactions", like CICSTRAN,DB2ACCT,ASUMUOW, wherein
ASUMDBSB       VMXGSUM creates the Interval Start/End times, my change  
ASUMHSM        from NO to YES caused differences in hourly counts in the
ASUMIDMS       PDB.CICS dataset (created from CICSTRAN by ASUMCICX) as  
ASUMJOBS       those minute 59 data were being counted in the next hour.
ASUMSTC          (There's nothing wrong in using SYNC59=YES in ASUMCICX 
ASUMVTVM          to shift those minute 59 transactions, if that's what 
                  you know you want because you have SYNC(59) data, but 
                  I should not have changed that global default!).      
                                                                        
               While not required with the restored default value, the  
               listed ASUMxxxx members use input event data and create  
               interval start/end times, so they now all contain the    
               SYNC59=NO option, mostly for documentation.              
   Thanks to Paul Naddeo, FISERV, USA.                                  
                                                                        
Change 27.307  Ancient DB2 Version 7.1 records have non-zero offset and 
VMACDB2        length for the "truncated" QMDALOCN field, so MXG read in
Nov  6, 2009   that longer text into QMDALOCN, but examination of those 
               longer text values show they are not valid, and since the
               DB2 V7.1 DSNDQMDA doesn't show the "truncated" offsets,  
               which appear to have been added in DB2 V8.1, the input of
               the truncated field is now bypassed for QWHSRELN LE 7.1. 
                                                                        
Change 27.306  Oracle SMF records are restructured, which surfaces as   
VMACORAC       ERROR: ILLEGAL VALUE FOR STARTS messages.  This change   
Nov  6, 2009   recovers all original values, and creates seven ORACUNNn 
               numeric unknown variables and two ORACUNCn character     
               variables observed in the SMF records.  These variables  
               will be named when a DSECT is available.                 
                                                                        
Change 27.305  The MSU and MIPS calculations in ASUMMIPS for workloads  
ASUMMIPS       (i.e., the Service Class MSU from TYPE72GO and Address   
Nov  6, 2009   Space MSU from SMFINTRV) did NOT take into account the   
               Capture Ratio.  of each of the engine types; only the    
               Captured CPUTM was used.  This change keeps the RMFINTRV 
               Capture Ratio variables (CAPTURAT CAPIFART CAPZIPRT) for 
               each Engine type, and the MSUUSED is divided by          
               (CAPxxxxx/100) to take into account the Interval Capture 
               Ratio for that SYSTEM for that engine type.  This will   
               cause the xxxUSED values to be estimates of the hardware 
               utilization, and they will be slightly larger now.  If   
               intervals are summarized, the Interval Capture Ratio is  
               the weighted average of the input data.  The use of      
               Capture Ratio can be turned off by specifying a 0 instead
               of 1 for the _USECAPT macro.                             
   Thanks to Brian Harvey, HCL America, USA.                            
                                                                        
Change 27.304  The IFA/zAAP and zIIP Capture Ratios are wrong if those  
VMXGRMFI       Specialty Engines are faster than the CP engines, because
Nov  6, 2009   the IFATM/ZIPTM are normalized values.  Now, the factors 
Dec  3, 2009   R723NFFI and R723NFFS, respectively, are used in the MXG 
               calculation of CAPIFART and CAPZIPRT Capture Ratios.  The
               CPU times are NOT changed back to raw values.            
                                                                        
Change 27.303  CICS Total I/O Wait WTTOIOTM & Total Other Wait WTOTIOTM 
ADOC110        variables now include all 45 WAIT durations included in  
VMAC110        Suspend Time that are in IBM's CICS Performance Guide for
Nov  5, 2009   CICS/TS 4.1; these six wait durations are not separately 
Nov 10, 2009   in WTOTIOTM because they are included in RMISIOTM:       
                 IMSWAITM DB2RDYTM DB2CONTM DB2WAITM DSCHMDTM WMQGETTM  
              -Member ADOC110 is updated with the complete list of which
               waits are I/O and which are Other waits, and a schematic 
               of how these waits are related.  The new equations are:  
                 WTTOIOTM=SUM(  /*TOTAL I/O WAIT DURATION*/             
                          WTTCIOTM,WTTSIOTM,WTSHIOTM,WTTDIOTM,WTJCIOTM, 
                          WTFCIOTM,WTRLIOTM,CFDTWATM,SOIOWTTM,ISIOWTTM, 
                          SOOIOWTM,WTIRIOTM,LU61IOTM,LU62IOTM,SZWAIOTM);
                 WTOTIOTM=SUM(  /*TOTAL OTHER WAIT DURATION*/           
                          DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM, 
                          WTWEIOTM,WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM, 
                          RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM, 
                          MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM, 
                          DSTCBMTM,DSMMSCTM,WTDWIOTM);                  
                 WTUNIOTM=MAX(  /*UNCAPTURED WAIT DURATIOM(/            
                              0,(SUSPNDTM-(WTTOIOTM+WTOTIOTM)));        
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.             
   Thanks to Dick Arnold, Commerce Bank of Kansas City, USA.            
                                                                        
Change 27.302  Variable FTPMEMBR is now kept in TYPETCPC dataset, and   
VMACTCP        variable FTPUSRMT is now correctly labeled "REMOTE" and  
Nov  4, 2009   not "LOCAL".                                             
   Thanks to Marybeth Delphia, Texas Comptroller of Public Accounts, USA
                                                                        
Change 27.301  Unused Change Number.                                    
                                                                        
Change 27.300  ASMTAPEE ML-45 provides several enhancements.            
ASMTAPEE      -Addition of assembly time stamp to initialization message
Nov  1, 2009   TMNT016I.  This will help to confirm that the version of 
               TMNT that is active matches the expected assembly.       
                  TMNT016I MXG Tape Monitor maintenance level 45        
                  initialization complete (2009/10/31-13.15)            
              -Modification of the TMNT018I initialization message to   
               include the SMF record number being used:                
                  TMNT018I MXG Tape Monitor interval set to 0.50 seconds
                  using SMF record number 238                           
              -Added message TMNT011E (in addition to existing TMNT010E)
               to more clearly identify, in human terms, the reason why 
               SMF recording has failed:                                
                  TMNT010E SMF write failed - SMFEWTM return code is    
                           00000028                                     
                  TMNT011E SMF write failed because a buffer shortage   
                           caused the data to be lost                   
              -Added support for BAM (basic access method) use of XTIOTs
               (TIOTs resident above the 16mb line).  This is only      
               relevant when the XMEM=YES option is specified.          
              -Each ML has small performance enhancements to decrease   
               MXGTMNT overhead; generally this involves taking         
               advantage of macro options that improve performance      
               and/or eliminating unnecessary instructions from         
               performance sensitive code paths.  The benefits are small
               from ML to ML but the difference between ML45 and ML26,  
               for instance, is fairly significant.                     
                                                                        
Change 27.299  %MACRO to minimize GDG Base Enqueue when reading SMF(0), 
ALOCGOVO       by only opening the GDG Base Name with relative reference
Oct 31, 2009   to get the full "goovoo" dsname, freeing the Base Name,  
               and then allocating the FILENAME SMF with the "goovoo"   
               name for the actual SMF processing, so the duration of   
               the DSNENQUE for the GDB Base Name is very short.        
                  Normally, if you use JCL to allocate SMF(0), your job 
                  will prevent an SMF Dump from running to create (+1), 
                  until your job ends (or, at least until SMF reading is
                  completed, if you use FREE=CLOSE on your //SMF DD).   
               The WAIT=20 option is used to open the relative reference
                  FILENAME SMF "YOUR.SMF(0)" DISP=SHR WAIT=20;          
               so that if the GDG Base is already in use, SAS will enter
               a Detected Wait state for up to 20 minutes, waking every 
               15 seconds to see if the enqueue has cleared; without the
               filename option WAIT=20, SAS would have terminated with  
                  ERROR: FILE IS IN USE, YOUR.SMF(0) message).          
               The examples show DDNAME=SMF, but that and the options on
               the generated FILENAME statement can be changed.         
              -This ALOCGOVO only works if your REMOVE the static DD    
               statements from the JCL; otherwise they will still       
               control the allocation.                                  
   Thanks to Christian Hodel, Swisscom IT Services, SWITZERLAND.        
   Thanks to MP Welch, SPRINT, USA.                                     
                                                                        
Change 27.298  Another Elegant algorithm uncompresses ASG/Landmark data 
VMACTIMS       records in SAS code, so it works on ASCII systems (which 
VMACTMDB       do not support INFILE exits).  However, it is EXPENSIVE, 
VMACTMDC       requiring SIX TIMES THE CPU THAT THE EXITMON6 INFILE EXIT
VMACTMMQ       REQUIRES: USE EXITMON6 ON z/OS.  See Change 27.260.      
VMACTMO2       ASG's compression technique is different than IBM's, but 
VMACTMTC       a similar increase in CPU Time was observed.  However,   
VMACTMVS       since ASCII systems do not support INFILE exits, this SAS
VMACTMVT       code algorithm does support processing of compressed data
Nov  5, 2009   on ASCII or with WPS, which might be worth the CPU cost. 
   Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.   
   Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ. 
                                                                        
Change 27.297 -ANALDB2R - MERGE STATEMENT HAS REPEATED BY VALUES, and   
ANALDB2R       SUBSTR errors in AUDIT reports were corrected.           
READDB2       -ANALDB2R corrected logic to populate the IFCIDs being    
Nov  4, 2009   requested with READDB2 is used with PDB=SMF.             
Nov 15, 2009  -READDB2 corrected logic that was suppressing the T102S106
Nov 24, 2009   dataset when WANTONLY was not used, even when requested. 
              -READDB2 ACCOUNT and STATISTICS now work as expected, to  
               create only those subsets of datasets; examples revised  
               to show the use of optional DB2ACTB=NO, etc.             
     Thanks to Jim Kovarik, AEGONUSA, USA.                              
                                                                        
Change 27.296  Variable CECSER added to datasets RMFMSUSE and SMFMSUSE. 
ASUMMIPS                                                                
Oct 28, 2009                                                            
     Thanks to Nicholas Ward, Centrelink, AUSTRALIA                     
                                                                        
Change 27.295  PRO/SMS SMF records were misaligned after the MSGED text 
VMACPROS       which was increased from 256 to 292 bytes; the first 42  
Oct 27, 2009   are now GWMSGECH $CHAR42 with $HEX84 format, while the   
               actual text is GWMSGED input now as $EBCDIC250.          
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 27.294  IFL observations in ASUM70LP and ASUMCELP had STARTIME   
VMXG70PR       and DURATM were missing values, and IFLCPUS was wrong if 
Oct 26, 2009   the summary interval was larger than original DURATM.    
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA.                     
   Thanks to Bruce Perry, Bell Aliant, CANADA.                          
                                                                        
Change 27.293  Support for CICS Identity Propagation, new with z/OS 1.11
EXCICIDD       CICS/TS 4.1 & APARs PK95579,PK83741,PK98426, creates new 
EXCICIDN       SMF 110 Subtype 1 MNSEGCL=6 record (if MNIDN=ON in SIT), 
FORMATS        from which MXG creates two new datasets:                 
IMAC110           dddddd   Dataset   Description                        
VMAC110           CICIDN   CICSIDNT  IDENTITY Transaction Information   
VMXGINIT          CICIDD   CICSIDND  Identity Realm/Distinguished Name  
Oct 26, 2009   This new Identity Propagation facility sends a user's    
Nov 16, 2009   security identity information (the distributed identity) 
               from a client system across a network, preserving the    
               distributed identity for use during CICS authorization   
               and for subsequent auditing purposes.                    
               Following text was revised Feb 1, 2010:                  
              -The new MNSEGCL=5 record was "supported" by MXG 20.20 but
               no records were ever read; this SMF file contained those 
               records and exposed errors in that MXG code, including a 
               possible INPUT STATEMENT EXCEEDED RECORD LENGTH error.   
              -The MNSEGCL=5 subtype record can be compressed by CICS,  
               but the new MNSEGCL=6 record can not.                    
                                                                        
Change 27.292  Dataset ASUM70LP had missing values for LPSHARC,LPSHARE  
VMXG70PR       TOTSHARC and TOTSHARE in the observations for the first  
Oct 26, 2009   LPAR (only in the first interval).  Setting LPARNUM=. was
               changed to LPARNUM=9999 so the descending sort corrected 
               the missing values.                                      
   Thanks to Horst Noerenberg, GaVI Gesellshaft .. Informatik, GERMANY. 
                                                                        
Change 27.291  Variable S42DSRDD was incorrect by a factor of 10**6; the
VMAC42         calculation should have multiplied by 1000 to convert to 
Oct 23, 2009   milliseconds, but it instead divided by 1000.  The right 
               statement for all three instances now is                 
                 S42DSRDD=128*S42DSRDD*1000;                            
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
   Thanks to Sridher Nelliyappan Manivel, Lowe's Companies, USA.        
                                                                        
Change 27.290  ASUMUOWT (ASUMUOW with ASG TMON MONITASK vice CICSTRAN)  
VMXGUOWT       had not been updated in four years, suggesting not much  
Oct 23, 2009   usage, but now it is updated to match ASUMUOW.           
   Thanks to Chris Weston, SAS ITRM Development, USA.                   
                                                                        
Change 27.289  Support for CPUZIPTM in SYNCSORT records; additionally,  
VMACSYNC       the new 4-byte fields in the SORTWORK extension are used 
Oct 22, 2009   for the primary and secondary track allocations and the  
Nov 18, 2009   primary tracks released.                                 
               Syncsort acknowledges that not all sorts can use a zIIP: 
              -Eligible sorts (not Merge or copies) are seeing 50 to 60 
               percent use of the zIIP eligible algorithms which result 
               in a 4 to 10 percent improvement in CPU time.            
              -Sorting jobs which employ the following features are     
               currently not eligible for zIIP processing:              
                 SUM                                                    
                 Exit routines other than E15 or E35                    
                 Using SORTIN with an E15 exit                          
                 OUTREC with CONVERT                                    
                 Relative length greater than 32756                     
                 VBS truncation                                         
                 TSO invoked sorts                                      
                 SVC=0                                                  
                 VB INCLUDE/OMIT                                        
                 OUTFIL INCLUDE                                         
                 TRUNCATION OF KEYS                                     
                 SYNCSORT TPF SY66820 enables use of:                   
                   INCLUDE/OMIT with STOPAFT                            
              -Although these limitations are being reviewed by SYNCSORT
               development staff, there is no schedule nor time frame   
               if or when any of these will become eligible for zIIP    
               processing.                                              
   Thanks to Jerry Urbaniak, Acxiom, USA.                               
                                                                        
Change 27.288  New format $MGCICCN is created for variable CMQCNSTA in  
FORMATS        CICS Statistics dataset CICIMQ dataset to identify if the
VMAC110        Queue is connected or not.                               
Oct 22, 2009                                                            
   Thanks to Dale Slaughter, Aegonusa, USA.                             
                                                                        
Change 27.287  MXG 27.09 errors corrected:                              
DAILYDSC      -ERROR:  New DAILYDSC, DAILYDSN, and DAILYDSR.            
DAILYDSN       The new VMXGDSN's argument was changed to TAPEDATA= from 
DAILYDSR       TMC= during testing, but the three DAILYDSx members still
VMAC74         had the original TMC= argument in their VMXGDSN calls.   
CONFIGV9       If you have an old, tailored DAILYDSx member, it is NOT  
Oct 21, 2009   impacted by this new design that uses VMXGDSN.           
VMXGDSN       -COSMETIC: VMAC74.                                        
Nov 13, 2009   DEBUGGING PUT statement was not removed.                 
              -COSMETIC: CONFIGV9                                       
               Option NOMAUTOSOURCEDISPLAY replaces MAUTOSOURCEDISPLAY. 
               Many lines printed on log, no impact. See Change 27.284. 
               Option was changed in 27.08.                             
              -Nov 13: VMXGDSN typo PDN corrected to PDB.               
   Thanks to Paul Naddeo, FISERV, USA.                                  
   Thanks to Robert Hamilton, Fifth Third Bank, USA.                    
   Thanks to Rachel Holt, Fidelity Systems, USA.                        
                                                                        
Change 27.286  PRISMA dataset PRPR1620, variable "UNKNOWN" is now INPUT 
VMACPRPR       as OFFSETS, and new variable INTERPOS is INPUT and KEPT. 
Oct 18, 2009                                                            
   Thanks to Nik Marien, KBC Global Services NV, BELGIUM.               
                                                                        
Change 27.285  Label, formats, and spelling corrections:                
TYPEIMSA       TYPEIMSA:                                                
VMACNTSM        variable ELAPSTM formatted TIME12.2                     
VMACQACS       VMACNTSM:                                                
VMACVMXA        labels added                                            
Oct 17, 2009     MLMDINST='MLMD*INSTANCE*NAME'                          
VMAC71           MLLOINST='MLLO*INSTANCE*NAME'                          
VMACTMNT         QLBLINST='QLBL*INSTANCE*NAME'                          
Oct 20, 2009    labels changed                                          
                 SQBTATWB='AVG*TIME TO*WRITE*BATCH'                     
                 QLBLATWB='AVG*TIME TO*WRITE*BATCH'                     
                 QLBLTBBA='AVG*TIME*BETWEEN*BATCHES'                    
                 SQBTTBBA='AVG*TIME*BETWEEN*BATCHES'                    
                formatted                                               
                 QLBLTBBA QLBLATWB  TIME13.3                            
                by list changes                                         
                 VMWGURES dataset, VWGRINST inserted                    
                 VMWHODIS dataset, VMWHINST inserted                    
                 MLCONS   dataset, MLCOINST inserted                    
               VMACVMXA:                                                
                label corrected                                         
                 VIMXCD20='DEVTYPE 20*MAXIMUM*VIRTUAL*CPU TIME*ACB'     
                variable name spelling corrections in DIF() logic:      
                 ASCHLRC ASCHLLC spelling was wrong: ASCCHLRC/ASCCHLLC  
               VMACQACS:                                                
                labels added                                            
                 SYSIUL='USER*AUTHORIZATIONS*AVAILABLE'                 
                 SYSCIU='USER*AUTHORIZATIONS*NEEDED'                    
               VMAC71:  Dataset TYPE71.                                 
                Variable SMF71GIE was added to the keep list for TYPE71 
                by Change 27.178 but the change was not documented.  Now
                it is labeled and formatted.                            
               VMACTMNT:  Dataset TYPESYMT.                             
                Variables SYSLENCR, SYSLBLKS labeled.                   
               VMXGRMFI:  Dataset RMFINTRV.                             
                Variable NRINTRV now labeled.                           
                Variables IFATM, ZIPTM are now TIME12.2 formatted.      
               VMXG70PR:                                                
                Variables IFAACTTM, ZIPACTTM labeled and TIME12.2'd.    
                All LnnPAT variables are formatted TIME12.2             
                All LnnIFKTM and LPnILWTM in ASUM70PR TIME12.2'd.       
               VMAC30: Variable ASID label corrected.                   
   Thanks to Chris Weston, SAS ITRM Development, USA.                   
                                                                        
Change 27.284  The SAS Option MAUTOLOCDISPLAY was added to the CONFIGV9 
CONFIGxx       member in MXG 27.08, but not documented.  That option    
Oct 16, 2009   prints a message when an autocall %MACRO is invoked, to  
               identifies the source member that was autocalled.  That  
               option is very useful for MXG Technical Support: having  
               a back-level member in your tailoring library causes most
               errors, and so we can diagnose directly from your log,   
               without requesting a second run to enable diagnostics.   
               However, the message is NOT printed for each compile of  
               an autocalled %MACRO, but instead is printed for each    
               invocation of an autocall, which causes lots of messages,
               so I have now changed CONFIGV9 to NOT set that option.   
               You can reset the option with an OPTIONS= parameter:     
                 // EXEC MXGSAS,OPTIONS='NOMAUTOLOCDISPLAY'             
                                                                        
====== Changes thru 27.283 were in MXG 27.09 dated Oct 14, 2009======== 
                                                                        
Change 27.283  CPU Activity Report updates.                             
ANALRMFR                                                                
Oct 14, 2009                                                            
   Thanks to Kim Westcott, New York State Office of Technology, USA.    
                                                                        
Change 27.282 -TMON for VTAM 'SE' record average values are no longer   
VMACTMVT       contained in the record, causing an INPUT EXCEEDED error.
Oct 12, 2009   These variables are now calculated rather than INPUT:    
               SEHRTA SENRTA SEINA SEOTA.                               
              -Some 'SE' records are compressed, while most are not, in 
               the test file, so MXG now skips the compressed records,  
               printing a message for the first five, but outputting the
               non compressed records.                                  
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.281 -New XAM datasets are created for PRCAPM, PRCIOP, IODVSW, 
EXXAMAPM       and STOASI. Those segments can be repeated in XAMSYS     
EXXAMASI       records, and thus must be output in separate datasets.   
EXXAMIOP      -New XMMTRPAG dataset created from MTRPAG segment in the  
EXXAMPAG       XAMDEV file, which is quite different than the MTRPAG    
EXXAMVSW       segment in the XAMSYS file. Variables PGS1-PGS3,CALCYLPA,
IMACXAM        CALCYLPR and CALCYLSP that were previously kept in XAMDEV
VMACXAM        are no longer kept in that dataset as they exist only in 
VMXGINIT       the MTRPAG segment in XAMSYS.                            
Oct 13, 2009  -IMACXAM is updated with the new datasets.                
EXXAMSEK      -MANY new variables in release 3.7 that were previously   
Oct 17, 2009   overlooked are now output; the KEEP= list for each of    
Oct 20, 2009   those datasets lists this Change Number before the list  
               of new variables.                                        
              -Additional MXG corrections for alignment corrected these 
               dataset's variables:                                     
                 XAMSYS   SYSBUSY                                       
                 XAMUSR   IDLETIME; variable VMTRUSR was removed.       
                 XMFALACB INDEX                                         
              -Variable LASTCHNG (a TODSTAMP) is sometimes populated    
               with 8-bytes of blanks, which cause a datetime value of  
               '27OCT1935:08:26:40.59'.  Now, blanks set it to missing. 
              -Additional problems with data values that are observed:  
                -Variable SMOOTHTM in XMSUBNET, XMTCPAPP, XMTCPCON has  
                 many (not all) instances of negative values.           
                -Variables PVMAJTFA in datasets XMVSISFT and XMVSINAP   
                 and variable PVMINTFA in dataset XMVSISFT are sometimes
                 negative values.                                       
                -Variable RSASXRPM in XAMSYS dataset can be negative.   
                -Variable PTYPE in XMVSISFT is numeric, usually 0 or 4, 
                 but it contains blanks; four blank ('40'x) input as    
                 PIB4 is the decimal value 1077952576.                  
                -Variable PPATH in XMVSISFT should contain path name in 
                 EBCDIC, but values starting with 'init ' have hex value
                 'BAF3BB'x in the last three bytes.                     
                -Variable PERFNICE in XMVSISFT can be negative.         
              -Oct 17 updates after Barton updated his PL/1 Declares:   
               -XAMDEV dataset                                          
                variables PAGUSED SCMWORK SPLUSED no longer exist.      
                variables CALSPOOL CALPAGE RDEVDRAN are added.          
                MDISK segment, length 92, 8+4+16+16+8+16=68 documented  
                CONFIG - corrected                                      
                USEACT - corrected                                      
               -XAMSYS dataset                                          
                RLEASE - corrected                                      
                SUBSUM - corrected                                      
                MONITR - corrected                                      
                MTRMEM - corrected                                      
                MTRSYS - corrected                                      
               -XAM TCP record                                          
                FALCPU - updated.                                       
                TCP    - updated.                                       
                HSTSFT - updated.                                       
                VSINAP - updated.                                       
                VSIUSR - updated.                                       
              -Oct 20 status: updates pending documentation             
               DEV - IODQDS - Segment not documented.                   
               DEV - MDISK  - Extra data not documented.                
               DEV - SEKSEK - Decoded, but disagrees with Declare.      
               USR - SERVRS - Segment not documented.                   
   Thanks to Chris Morgan, CITIBANK, ENGLAND.                           
                                                                        
Change 27.280  New DCOLLECT variables added by z/OS 1.11 dataset DCOLDC:
VMACDCOL         DDCSPECC='DDCSPECC*ADDITIONAL*SPECIFICATION*FLAGS'     
Oct  9, 2009       DDCFATTR='EATTR*SPECIFIED?'                          
                 DDCSPECD='DDCSPECD*ADDITIONAL*SPECIFICATION*FLAGS'     
                 DDCVBYT1='VSAM*EXTENSION'                              
                   DDCEX255='OVER 255*EXTENTS*ALLOWED?'                 
                 DDCEATTR='EXTENDED*ATTRIBUTE'                          
               Variable DDCSFLG was incorrectly located in z/OS 1.10 IBM
               documentation in Access Method Services for Catalogs; the
               +3 preceding it was really only +2. These new variables  
               are decoded from DDCSFLG:                                
                   DDCOVRD ='BWO*SPECIFIED?'                            
                   DDCSDB  ='SPHERE*RECOVERABILITY*SPECIFIED?'          
   Thanks to Mike Blocker, Fidelity Investments, USA.                   
                                                                        
Change 27.279  IBM has documented when Subtype 24 and 25 records are    
VMAC42         created in APAR OA30503:                                 
Oct  8, 2009     Only those applications which issue STOW and DESERV    
                 calls for PDS or PDSE directory processing will        
                 generate Subtype25 records. Some applications, such as 
                 IEBCOPY, do not issue a STOW or DESERV issue STOW when 
                 updating the directory.                                
                                                                        
Change 27.278  Errors that %TRIM macro was not resolved are discussed in
CONFIGxx       Change 27.124, but that error can also occur if you have 
Oct  8, 2009   changed the S2=0 option in MXG's CONFIGV9 to S2=72.      
                                                                        
Change 27.277 -Support for USER=DDNAME was erratic because WORK text was
VMAC42         used in many places, where &MXGWORK macro variable should
VMAC80A        have been the text.                                      
Oct  8, 2009  -Variables W2RCHGAG and W2RINSAG in dataset CICW2R are now
Oct  9, 2009   formatted MG110AG.                                       
              -Variable SMFA2GZ2 label corrected to "SMS" versus "SMF"  
               in dataset TYPE42D3.                                     
              -Variable SMFA2NRS label in TYPE42X3/X4 to match SMF42NRS.
              -Variables TOKCHARV, TOKLDAP, TOKNUMRV, TOK80FLG, TOK80LN2
               in dataset TYPE80TK are now labeled.                     
   Thanks to Chris Weston, SAS ITRM Development, USA.                   
                                                                        
Change 27.276  Support for z/VM support of 3390-A a/k/a EAV volumes with
VMACVMXA       more than 65K tracks; four larger fields are added at the
Oct  7, 2009   end of the SEKSEK record, and are input by this change   
               into the four existing MXG variables.                    
                                                                        
Change 27.275  Variable PCTIOPBY='IOP/SAP*PERCENT*BUSY' is created and  
VMAC78         kept in TYPE78IO.                                        
Oct  6, 2009                                                            
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.274 -ERROR: CICDS DISPATCH INTERVAL LARGER THAN INTERVAL can  
VMXGCICI       occur when creating PDB.CICINTRV Statistics Summary if   
VMAC110        a region was Shutdown (creating an EOD record) and then  
Oct  7, 2009   restarted, and the first INT record is created such that 
Oct 21, 2009   both the EOD and INT records have the same Summary       
               (recalculated) COLLTIME.  For example, with an requested 
               INTERVAL=THREEHR summary:                                
                   INTERVAL    START       ACTUAL     SUMMARY           
                    EVENT    CICSSTCK     COLLTIME   COLLTIME           
                     EOD       00:00        01:26      03:00            
                     INT       02:00        03:00      03:00            
               the two events with the same Summary COLLTIME were NOT   
               combined, because variables CICSSTCK and COLLTIME were   
               both in the BY list for summarization.  CICSSTCK has been
               removed from both BY and KEEPs; only COLLTIME is correct.
              -Variables A17DSIXP/A17DTRDS were incorrectly deaccumed,  
               causing negative values for them in PDB.CICINTRV.        
              -The SORT order for CICFCR (A17 variables) was corrected  
               to insert A17FNAM ahead of A17DSNAM in both VMAC110 and  
               in VMXGCICI.  While I hate changing the SORT ORDER, this 
               change is required for duplicate removal.                
              -Oct 21: CICSSTCK added in KEEPIN= for all steps that have
               CICSSTCH in the BY statement in their INCODE=, so that   
               KEEPALL=NO can be used if needed.                        
   Thanks to Lynn Hong, UCLA, USA.                                      
                                                                        
Change 27.273 -Cleaned up the WTD logic and modified so that if you are 
BLDSMPDB       using AUTOALOC (which create output directory names that 
DAILYDSC       contain todays date), it ignores ROLLWEEK (copying of the
DAILYDSN       week4-week5 etc) since AUTALOC takes care of that.       
DAILYDSR      -New REROUTE= argument let's you change the destination   
IMACZDAT       directories of individual PDB datasets.                  
VMXGALOC      -New macro variable &MXGZDATE created in IMACZDAT so that 
VMXGDSN        ZDATE can be set for rerun without hard EDIT of IMACZDAT.
VMXGDSN       -New macro VMXGDSN reads DCOLLECT, TMC, RMM and CONTROLT  
VMXGINIT       data files for "Daily Dataset Billing", but separates    
Oct 14, 2009   reading of the raw data files from the creation of the   
Oct 21, 2009   "DATASETS" dataset, so those phases can be separately    
Nov 19, 2009   executed by BLDSMPDB.  Members DAILYDSN, DAILYDSC,       
               DAILYDSR members now invoke VMXGDSN.                     
              -Some confusing WTD/WEEK & MTD/MONTH messages eliminated. 
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.          
                                                                        
Change 27.272  READDB2 support for WANTONLY is enhanced (i.e., now it   
READDB2        works, and with new options!).                           
Sep 28, 2009   When WANTONLY is used, the datasets that are NOT listed  
               in the WANTONLY= argument that would be created by other 
               arguments (e.g., ACCOUNT) will be created with zero obs. 
               Example 1:                                               
                 IFCIDS=ACCOUNT,WANTONLY=DB2ACCT                        
                 IFCIDS=ACCOUNT,DB2ACCT=YES//keep/x y z                 
                 Only the DB2ACCT dataset will be populated; all other  
                 DB2ACCTx datasets will be created, but with zero obs,  
                 and no other datasets are created.                     
               Example 2:                                               
                  %READDB2(PDBOUT=PDBOUT,DB2ACTB=NO);                   
                  If you do NOT want a dataset to be created, then you  
                  can use NO as the value of the Dataset Name Argument  
                  and the dataset will NOT exist.  For example, will    
                  suppress the creation of DB2ACCTB.                    
   Thanks to Alyona Bertneski, JPMorgan, USA.                           
                                                                        
Change 27.271  DB2 IFCID=173 support is updated to detect "truncated"   
VMAC102        names, and supports UNICODE text data.                   
Sep 28, 2009                                                            
   Thanks to Ervin Claxon, IBM Global Services, USA.                    
                                                                        
Change 27.270  CICS Statistics STID=115 record is not supposed to exist,
VMAC110        so when it did, MXG didn't handle it's non-non-existence 
Sep 28, 2009   correctly.                                               
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.                       
                                                                        
Change 27.269  Change 27.158 still caused QWHDRQNM and QWHDSVNM to be   
VMACDB2H       incorrect, if SMF data was read on ASCII platforms, due  
Sep 25, 2009   to spelling QWHDxxxx as QWHSxxxx.                        
   Thanks to Bill McDonald, Kimberly-Clark, USA.                        
                                                                        
Change 27.268  Example to summarize PDB.TYPE72GO Service/Report dataset,
ASUM72GO       creating 10 minute output intervals in PDB.ASUM72GO from 
Sep 25, 2009   5 minute input intervals.  Using DURATM=INTERVAL forces  
               the output DURATM value to be the INTERVAL=TENMIN value, 
               even if the Service Class was only active during one of  
               the two 5-minute original intervals.                     
                                                                        
              -Originally, the DURATM from the first "period" was kept  
               in this INCODE logic:                                    
                   INCODE =                                             
                             PROC SORT DATA=MXGSUM1 OUT=MXGSUM1A;       
                             BY SYSTEM STARTIME   SRVCLASS RPRTCLAS;    
                             DATA MXGSUM1; SET MXGSUM1A;                
                             BY SYSTEM STARTIME   SRVCLASS RPRTCLAS;    
                             IF NOT FIRST.RPRTCLAS THEN DURATM=.; ,     
               but that not only cost the sort and extra data pass,     
               it also removed the /VIEW.  And, perhaps worst, the value
               of DURATM in the output dataset was not always the 10 min
               desired - if a Service Class was only used for one 5 min 
               period that interval had DURATM of 5 minutes with INCODE.
              -Originally, originally, the INCODE kept PERIOD=1 obs, but
               there are PDB.TYPE72GO observations with only PERIOD=2;  
               MXG only creates observations if the service class was in
               active use during an interval.                           
   Thanks to Scott Weiner, Wisconsin Physicians Service, USA.           
                                                                        
Change 27.267 -These variables in TYPE42X1 and TYPE42X2 are now MGBYTES.
VMAC42         formatted:                                               
Sep 23, 2009     SMF42JON SMF42JOO SMF42JOP SMF42JOR SMF42JOS SMF42JOT  
                 SMF42JOV SMF42JOW SMF42JOX SMF42JOY SMF42JOZ SMF42JQG  
                 SMF42JQH SMF42JQI SMF42JQJ SMF42JQK SMF42JQL SMF42JQM  
                 SMF42JQN SMF42JRA SMF42JRB SMF42NSZ SMF42SAP SMF42SPR  
              Dataset Labels for TYPE42Xn now match Change 27.062.      
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.266  VMXGALOC did not create a new weekly directory when it   
VMXGALOC       should have, and it did not create the WTD (week to date)
Sep 24, 2009   folder at the beginning of the week, nor did it create   
Oct  2, 2009   the MTD (month to date) folder at the beginning of the   
               month, but now it does.                                  
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA               
                                                                        
Change 27.265 -ASMRMFV incorrectly issued RMFV005E ERROR INVALID PARM=0 
ASMRMFV        when sequence numbers were in columns 73-90 of SYSIN.    
Sep 22, 2009  -Notes that PARM values are needed only once were added.  
   Thanks to Doug Medland, IBM Global Services, USA.                    
   Thanks to Jerry Urbaniak, Acxiom, USA.                               
                                                                        
Change 27.264 -z/VM MONWRITE example to process only the USER Domain    
VMACVMXA       data, and to create only PDB.VXBYUSR and PDB.VXSUMUSR    
VMXGINIT       output datasets required updates to VMACVMXA because the 
Sep 21, 2009   VXSUMUSR's output MACRO _SVMSUMU wasn't undefined.       
              -This example can then be used to read only Domain 4 and  
               create only PDB.VXBYUSR and PDB.VXSUMUSR in //PDB:       
                                                                        
                 //MWINPUT DD DSN=YOUR.MONWRITE.DATA.FILE,DISP=SHR      
                 //PDB     DD DSN=YOUR.ZVM.OUTPUT.PDB,DISP=OLD          
                 //SYSIN DD *                                           
                  %VMXGINIT(DEFAULT=WORK);                              
                  %LET PVMBYUS=PDB;                                     
                  %LET PVMSUMU=PDB;                                     
                  %LET MACKEEP=  MACRO _VMRPT  %   ;                    
                  %LET MACVMXH=                                         
                    %QUOTE(                                             
                      IF MRHDRDM NE 4 THEN DO;                          
                         INPUT +SKIP @;                                 
                         SKIP=0;                                        
                         MRHDRDM=-99;                                   
                         MRHDRRC=-99;                                   
                         GOTO MWENDIT;                                  
                      END;                                              
                          );                                            
                    %INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);               
                    _TESTMW;                                            
                    RUN;                                                
   Thanks to Doug Wells, First National Bank of Omaha, USA.             
                                                                        
Change 27.263  Variable R744FNAM, the Coupling Facility Name, was not   
VMAC74         kept in TYPE74DU (Duplex Coupling Facility).  Any ITRM   
DOC            sites using dataset XTY74DU created by MXG macros need to
Sep 21, 2009   update their ITRM dictionary. Fortunately, MXG's R744FNAM
               already exists as ITRM name R744FNA (in XTY74CF,XTY74ST),
               and it will be added in ITRM's next dictionary update,   
               but it can easily be added (with help from ITRM techie!):
                                                                        
               Run the below example to execute the ITRM CPDDUTL %macro 
               (the data dictionary utility) to add the variable to the 
               table.  The example uses the CPCAT macro twice to create 
               the catalog entry with the necessary control statements  
               that are input to the cpddutl macro:                     
                  %cpcat;                                               
                  cards4;                                               
                  SET TABLE NAME=XTY74DU ;                              
                  CREATE VARIABLE NAME=R744FNA                          
                    EXTNAME=R744FNAM                                    
                    LABEL='Name of Coupling Facility'                   
                    DESCRIPTION='Name of Coupling Facility'             
                    TYPE=CHARACTER                                      
                    LENGTH=8                                            
                    INTERPRET=STRING                                    
                    KEPT=YES ;                                          
                  ;;;;                                                  
                  %cpcat(cat=WORK.ddutl.ddutl.source);                  
                  %cpddutl(entrynam=work.ddutl.ddutl.source);           
               Run the above in a regular ITRM batch job that uses      
               CPSTART to point to your PDB with DISP=OLD, but do not   
               include other CMPROCES, CPPROCES or CPREDUCE macros.     
   Thanks to Yacine Amraoui, Banque Postale, FRANCE.                    
                                                                        
Change 27.262  ASUMMIPS is enhanced to add MSU and MIPS for zIIPs, zAAPs
ASUMMIPS       to the existing CP variables.                            
Sep 18, 2009                                                            
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.             
                                                                        
Change 27.261 -Variable QBMCTEXT in T1028005 dataset from TMON/DB2 is in
VMAC102        ASCII text, so the INPUT statement was revised.          
Sep 18, 2009  -QW0343xx variables are now INPUT and KEEP in T102S343.   
              -Additional info on the IFCID 005 (T1028005) - SQL text   
               and IFCID 307 (T1028133) - SQL Stmt Sum (All Qualifiers).
               There is no 1-1 relationship between those two files,    
               especially for dynamic SQL.  All SQL text collected is   
               found in T1028005.  When the same SQL statement is       
               executed more than once, only one observation is created 
               in T1028005. In T1028133, for each unique collection key,
               there is a separate observation.  So when user A, B and C
               execute the same SQL-stmt (plan/package/stmt), there will
               be 3 T1028133 observations (one for each user), but there
               will only be one observation in T1028005                 
   Thanks to Christa Neven, KBC Global Services, BELGIUM.               
   Thanks to Paul Volpi, UHC, USA.                                      
   Thanks to James J. Burnes, UHC, USA.                                 
                                                                        
Change 27.260  This elegant contributed algorithm uncompresses CICS/TS  
VMAC110        SMF records using SAS statements in VMAC110 that expands 
Sep 21, 2009   the SAS _INFILE_ Buffer, using _INFILE_ Special Variable,
Oct  4, 2009   so this algorithm works on z/OS or on any ASCII Platform,
Nov  4, 2009   since it's just SAS code!                                
                                                                        
               ********WARNING  INSERTED NOV 5, 2009******************* 
               Unfortunately, this elegance comes at great CPU expense: 
                While the original change text did warn that:           
                  But the "instream" algorithm may be more CPU intensive
                  than EXITCICS, so, if you are processing on z/OS, you 
                  may find the EXITCICS algorithm preferable.           
                only now, with files of 100% compressed records, has the
                cost been measured: TWELVE TIMES MORE CPU TIME than     
                using the (written in ASM code) EXITCICS Infile Exit.   
               With the INFILE exit, it has already uncompressed the    
               record, so the SAS decompression code is not executed.   
               ********WARNING  INSERTED NOV 5, 2009******************* 
                                                                        
               Previously, to read compressed CICS/TS 3.2+ SMF records, 
               you had to assemble MXG's EXITCICS member to create the  
               CICS "Infile Exit", which can ONLY execute on z/OS.      
                                                                        
               This algorithm is both automatic and transparent, and, if
               the EXITCICS Infile Exit is installed, it will have      
               already expanded the record, so this "instream" algorithm
               won't be executed.                                       
               But the "instream" algorithm may be more CPU intensive   
               than EXITCICS, so, if you are processing on z/OS, you may
               find the EXITCICS algorithm preferable. SEE BELOW.       
                                                                        
              -The Maximum Record Length printed on the SAS log shows   
               the uncompressed length with EXITCICS, but shows the     
               maximum compressed length with this expansion algorithm. 
                                                                        
              -Compressed 110 SMF records can be processed by WPS 2.04, 
               which added the _INFILE_ Special Variable.               
                                                                        
               The authors describe their work:                         
              -The compression algorithm used is a simple RLE (Run      
               Length Encoding) as follows:-                            
              -All compressed data consists of an INDICATOR/LENGTH byte 
               that is followed by data byte(s).  This combination of   
               indicator/length byte and data byte(s) is repeated until 
               the end of the compressed data.                          
              -The INDICATOR byte/bit flags the presence of compressed  
               data by having the TOP Order bit set on.  The remainder  
               of the byte will indicate the length of the uncompressed 
               data.                                                    
              -An indicator byte of '80'x (always the first byte of the 
               compressed field) indicates Compressed data of length    
               ZERO.  There is NO following data byte!                  
              -An indicator bit of '1nnnnnnn'B is followed by a single  
               data byte that is to be repeated '0nnnnnnn'B times into  
               the output buffer.                                       
              -An indicator bit of '0nnnnnnn'B indicates that the       
               following '0nnnnnnn'B bytes are simply copied from the   
               compressed record to the uncompressed buffer.            
              -This compression algorithm was determined by a few Google
               searches and observations of the compressed data and did 
               not involve any non public knowledge of IBM's processing.
                                                                        
   Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.   
   Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ. 
     the authors, and, for the CPU measurements on z/OS,                
   Thanks to Scott Chapman, American Electric Power, USA.               
                                                                        
Change 27.259  Support for TMON FOR DB2 Records 'BA','BJ','BK','BL','BM'
VMACTMDB       now decode the record-specific fields; previously, only  
Sep 17, 2009   the headers were decoded for these subtypes.             
   Thanks to Ernie Amador, UC Davis Health System, USA.                 
                                                                        
Change 27.258  Support for ACF2 SUBTYPE='O' OPENEDITION record creates  
EXACFOR        new ACFOR dataset.                                       
IMACACF2                                                                
VMACACF2                                                                
VMXGINIT                                                                
Sep 16, 2009                                                            
Oct  8, 2009                                                            
   Thanks to Steven Nelson, IBM Global Services, USA.                   
                                                                        
Change 27.257  Cosmetic.  MXG added ***ERROR. SMF RECORD SUBTYPE GT 255 
VMACSMF        messages when an impossible value for one-byte SUBTYPE is
VMACMIM        found when VMACSMF processes an SMF record with the flag 
Sep 16, 2009   that the subtype field is populated, but it is at best   
               only a WARNING message that MXG has corrected the SUBTYPE
               variable to the one-byte in byte 19 instead of byte 20.  
               This is important if you use IMACFILE or %LET MACFILE=   
               to select/skip SMF records based on SUBTYPE, or if the   
               SMF record with invalid subtype actually tests SUBTYPE.  
              -One WARNING ID=189 was flagged with the message, used    
               for the MIM SMF record; VMACMIM was examined and since   
               MXG variable SUBTYPE was not tested in that member, there
               was no problem.  However, the MIMSUTYP was incorrectly   
               as a two-byte value, so even though it was also not also,
               VMACMIM was corrected, in case it's ever needed.         
              -I haven't (yet) figured out how to turn the warning off, 
               or maybe decide I should just remove it.                 
                - it needs to precede IMACFILE, so the true subtype will
                  be populated in SUBTYPE for testing in that exit.     
                - some IBM records with fixed ID are already corrected  
                  prior to the IMACFILE exit.                           
                - IMACFILE is where you would expect to turn it off.    
   Thanks to Robert Blackburn, Dominion Resources Services, Inc, USA.   
                                                                        
Change 27.256  The QACSLPAR file has 20 undocumented bytes after LPVRM; 
VMACQACS       the first eight are the SYSTEM ID, new variable LPSYSTEM,
Sep 14, 2009   and the next 12 bytes are skipped, for iSeries V5.4.0.   
   Thanks to David Bixler, FISERV, USA.                                 
                                                                        
Change 27.255 -Variable SM1209CY is now RETAINed and KEEP= in all four  
VMAC120        TYP1209x datasets, as that Enclave Token is needed to    
Sep 14, 2009   combine records.                                         
              -Variable SM1209FI is now correctly input as &PIB.8.3 and 
               the divide by 4096 for SMF1209EV and SMF1209FI were      
               incorrect and are removed.                               
   Thanks to Steiner Amot, VPS ASA, NORWAY.                             
   Thanks to Bjorn Helgestad, VPS ASA, NORWAY.                          
                                                                        
Change 27.254  Members that read files with an INFILE statement that had
VMACMRKV       only LRECL and BLKSIZE now use a Platform-Specific %MACRO
VMACPRPR       to set RECFM=VBS on z/OS and RECFM=S370VBS on ASCII.     
VMACTSMA       See Change 27.311, which removed this change for NTSMF.  
VMACNTSM                                                                
Sep 14, 2009                                                            
                                                                        
Change 27.253  SMF74NID (a/k/a SMF74DCT) is a 28-character field with   
VMAC74         26 $EBCDIC text bytes, and two $HEX bytes at the end.    
Sep 13, 2009   The final byte appears to always be '00'x, which doesn't 
               translate, but the penultimate byte has many different   
               hex values, which may or may not be changed when INPUT   
               as $EBCDIC, depending on the hex value of that byte.     
               This change inputs the first 26 as $EBCDIC26., but the   
               last two bytes are INPUT as $CHAR2. and then SUBSTRinged 
               back into SMF74NID, to prevent accidental translation.   
               Of course, those last two hex values may be unprintable  
               and could cause other problems if they are imported into 
               other programs; using FORMAT SMF74NID $HEX56.; would     
               prevent the unprintables, but the text would not be      
               readable to the human eye.                               
   Thanks to Peter Enrico, Enterprise Performance Strategies, Inc,  USA.
                                                                        
Change 27.252  Formats for many duration variables were not TIMEyy.x;   
VMXGRMFI       all of the duration variables are how TIME12.2 except for
Sep 13, 2009   BATRESP and TSORESP that are TIME13.3.                   
                                                                        
Change 27.251 -RMM processing now supports all possible date formats:   
IMACEDGR        RHDTFORM    DESCRIPTION        EXAMPLES                 
VMACEDGR           A         AMERICAN     12/31/1999  MM/DD/YYYY        
Sep 11, 2009       E         EUROPEAN     31/12/1999  DD/MM/YYYY        
Sep 15, 2009       I         ISO          1999/12/31  YYYY/MM/DD        
Sep 17, 2009       J         JULIAN       1999/365    YYYY/DDD          
               The original _EDGRDTE macro is no longer used.           
              -The Retention field RDRETCHR or RVRETCHR can contain text
               non-date values of CATRETPD or CYCL/99999 or WHILECATLG. 
               RDWILCAT/RVWILCAT='Y' already existed for WHILECATLG; new
               variables RDCYC999/RVCYC999/RDCATRET/RVCATRET are created
               and the DATE variables RDRETDAT/RVRETDAT will be missing 
               values, if xxRETCHR has any of those 3 text values.      
              -An Original Expiration Date with 00/00/1999 (or any other
               non-date value) is stored in new character variable      
               RDEXPDCH, and the DATE conversion is protected for '00'. 
               The value of RDEXPDTO will be a missing numeric date     
               value if RDEXPDCH contains a non-date value.             
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.                       
                                                                        
Change 27.250  Protection for UNKNOWN TOKDANAM printed a message, but it
VMAC80A        failed to prevent INPUT STATEMENT EXCEEDED RECORD LENGTH.
Sep 11, 2009   Protection now works.                                    
               The RDEFINE CFIELD statement can be used to define custom
               fields and their attributes, with locally chosen names;  
               these new variables in TYPE80TK are populated if found   
                  TOKTYPE ='TYPE'                                       
                  TOKMAXLE='MAXLENGTH'                                  
                  TOKFIRST='FIRST'                                      
                  TOKOTHER='OTHER'                                      
                  TOKHELP ='HELP'                                       
                  TOKMIXED='MIXED'                                      
                  TOKLISTH='LISTHEAD'                                   
                  TOKURTLA='URTLABEL'                                   
               and these observations have TOKSUSBY='CFDEF' to identify 
               they are locally defined fields.                         
   Thanks to Coen Wessels, IBM SWITZERLAND.                             
   Thanks to Pierra Beda, IBM SWITZERLAND.                              
                                                                        
Change 27.249  Variable R747PAVG='RMF REPORT*AVERAGE*FRAME*PACING' is   
VMAC74         created as  R747PAVG=10**6*(R747PFPT/R747PNFT); to match 
Sep 10, 2009   the value printed on RMF Reports.                        
   Thanks to Robert Brosnan, Goldman Sachs & Company, USA.              
                                                                        
Change 27.248  Change 27.165's insertion of VMXGOPTR cause the I/J vars 
VGETDDS        that were local to VGETDDs to be overridden by the I/J   
VMXGOPTR       vars used in VMXGOPTR causing looping and unexpected     
Sep 10, 2009   results. Variable names in VMXGOPTR/VGETDDS were changed.
Sep 11, 2009  -Before, if you asked for GOOVOO, or DATEBASE, or GDGs, it
               allocated all of them (ensuring they were there) and then
               went thru the DDNAMES logic to ensure they were there.   
               Sort of silly really.  Now if you ask for GOOVOO, DATES, 
               etc., it allocates the datasets and keeps track of them, 
               so now, the only time it goes thru the DDNAMES logic is  
               when that argument is used.                              
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 27.247  FLAG1 tests for HyperBuf optional segments overlapped,   
FORMATS        causing some optional variable to be populated when they 
VMACHBUF       should have been missing; DATALAS-ESTDBUFS if FLAG1='1.' 
Sep  9, 2009   and EXCPIPTH-INDXCISZ if FLAG1='.1'.  The three tests are
               now '10', '11', and '01' to only appropriately input.    
              -New $MGHBUFT format decodes FLAG1 to identify the type of
               optional segment, if any, in this record.                
   Thanks to MP Welch, SPRINT, USA.                                     
                                                                        
Change 27.246  Change 27.127 added KEEP= to TAPES, but variables DSN    
DAILYDSN       DSNBACTV and STPNAME were not kept, causing UNINITIALIZED
Sep  9, 2009   VARIABLE messages.                                       
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.                 
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.                    
                                                                        
Change 27.245  zIIP and zAAPs are added to SAS/GRAPH hourly workload    
GRAFWRKX       reports, using PDB.RMFINTRV.                             
Sep  8, 2009                                                            
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.             
                                                                        
Change 27.244  Variable OTRANNUM in VMAC110 was correctly input &PD.4 if
VMAC110        IMACEXCL was used, but the default INPUT without IMACEXCL
Sep  8, 2009   was incorrectly input as &PIB.4.                         
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 27.243  Cosmetic, and only for MXG QA.  SAS Option CHARCODE is   
FORMATS        enabled in FORMATS (Change 13.319) so that two-character 
Sep  7, 2009   operators ?< and ?> can be used on both EBCDIC and ASCII 
               in place of Left Squiggly and Right Squiggly Brackets,   
               where they are needed for valid syntax for OTHER operand.
               This change reinstates the default Option NOCHARCODE at  
               the end of FORMATS.  The observed problem was seen only  
               in the single-step QA job (which begins with FORMATS);   
               with CHARCODE left enabled, the label of two variables   
               (TDSL12TY and QW0350SL), that happened to contain ?) text
               were changed by CHARCODE to a right squiggly bracket, so 
               QA labels in DOCVER were NOT the actual variable labels. 
               These two-character operators are CHARCODE-translated:   
                    Symbol                 Two-Character Operators      
                  backquote (`)                     ?:                  
                  backslash (\)                     ?,                  
                  left brace ({)                    ?(                  
                  right brace (})                   ?)                  
                  logical not sign (¬ or ^)         ?=                  
                  left square bracket ([)           ?<                  
                  right square bracket (])          ?>                  
                  underscore (_)                    ?-                  
                  vertical bar (|)                  ?/                  
                                                                        
Change 27.242 -Elimination of Numeric to Character Conversions in tests 
ASUMCICS       for VGETOBS.                                             
ASUMCICX      -If MXGMQADD=NO was specified but the _INMQ macro was not 
VMXGUOW        nulled, UNINITIALIZED VARIABLE messages were printed for 
Sep  8, 2009   all of the MQ variables.                                 
Sep 28, 2009  -If CICSTRAN has zero observations, PDB.ASUMUOW cannot be 
               populated, but it will be created with zero observations,
               and MXGERROR message is printed on the log, and reading  
               of DB2ACCT/MQ data will not be done.                     
              -Variable MQTRAN created in PDB.ASUMUOW to count MQs.     
              -Variable CPUMQMTM created in PDB.ASUMUOW as the sum of   
               QMACCPUT (now zero) WTASOTCT, WTASCMCT, and WTASBACT.    
              -Variable CPUUOWTM created in PDB.ASUMUOW as the sum of   
               CPUTM (CICS), DB2TCBTM (DB2) and CPUMQMTM (MQ-Series).   
              -Variable CPUTM (TASCPUTM+CPURLSTM) is created in PDB.CICS
               by either ASUMCICS or ASUMCICX.                          
              -VMXGOPTR stashing/revisions for OBS=0.                   
                                                                        
Change 27.241  SMF 80 record for RACFEVNT=79 with EXTLNTYP=379 segment  
VMAC80A        with EXTLNLEN=130 caused INPUT STATEMENT EXCEEDED RECORD 
Sep  7, 2009   LENGTH ERROR because MXG only INPUT RACF379 $VARYING128. 
               The INFORMAT in that INPUT is now $VARYING255.           
   Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.         
                                                                        
Change 27.240  Cosmetic.  Five R745Vxxx variables were added in 2000 to 
VMAC74         TYPE74CA dataset, but the "DEVICE LSA SECTION" doesn't   
Sep  7, 2009   exist and those variables are always missing or blank.   
               Their labels were changed, especially R745VSER, to avoid 
               confusion, and now are:                                  
                 R745VBYW='R745VBYW*ALWAYS MISSING*DOES NOT EXIST       
                 R745VFLG='R745VFLG*ALWAYS BLANK*DOES NOT EXIST         
                 R745VNTR='R745VNTR*ALWAYS MISSING*DOES NOT EXIST       
                 R745VNUM='R745VNUM*ALWAYS MISSING*DOES NOT EXIST       
                 R745VSER='R745VSER*ALWAYS BLANK*DOES NOT EXIST         
   Thanks to Ray Dunn, CIGNA, USA.                                      
   Thanks to Deborah L. Soricelli, CIGNA, USA.                          
                                                                        
Change 27.239  MXG's full QA stream executes successfully with WPS 2.4  
AUTOEXEW       under both z/OS 1.9 and Windows/XP; essentially all MXG  
MXGWPSV2       programs are now executable under WPS 2.4.               
UTILSPAC                                                                
VMACEREP       These changes are made in WPS 2.4:                       
VMACSMF        -The runtime performance problem with PROC SQL has been  
VMXGVTOC        corrected, so the testing of the ANALCISH member with   
Sep  6, 2009    REPORT=ALL is reinstated in the WPS QA job stream.      
Oct  8, 2009   -The PROC PLOT option VPOS is now recognized.            
Oct 13, 2009   -The option MAUTOLOCDISPLAY is now recognized.           
               -The INFILE option CCHHR is supported; circumvention code
                that bypassed for QA execution is now revised to test   
                for &WPSVER GE 2.04 so these programs can now be used on
                z/OS: TYPEEREP, VMXGVTOC, and UTILSPAC.                 
               -The _INFILE_ Special Variable is now supported.         
                                                                        
              -Change 27.110 lists the other MXG programs that cannot   
               be run as-is with WPS; WPS replicates SAS V8.2, so the   
               new-in-SAS V9 features are, in general, not supported.   
                                                                        
              -For z/OS, the MXG JCL procedure MXGWPSV2, the DSNAME for 
               the WORKMDL='HLP.WPS.SASHELP' replaces WPSDATA because   
               Model datasets are no longer specified during install.   
                                                                        
              -The member AUTOEXEW is the example "autoexec" for WPS;   
               the members AUTOWPS and AUTOEXWP were only for testing   
               and have been deleted.                                   
              -The comments were revised in AUTOEXEW to identify options
               that WPS does not currently support; none are required:  
               WPS 2.4 added supports these OPTIONS                     
                OPTIONS MAUTOLOCDISPLAY;                                
                OPTIONS SORTSEQ=ASCII;                                  
                OPTIONS VALIDVARNAME=V7;                                
                                                                        
              -On z/OS, WPS requires a larger REGION size than SAS, with
               BUILDPDB needing REGION=230M while SAS used REGION=125MB.
               For the full QA job, however, WPS needed a REGION=1200MB,
               while SAS V9.2 needed REGION=165MB.  WPC will investigate
               why that large region was required, but it appears to be 
               unique to the MXG QA job, which executes over 20,800 DATA
               and PROC steps.  A large region requirement has not been 
               reported as an issue by any site running MXG under WPS.  
                                                                        
               WPS QA took 120 CPU minutes, SAS QA took 53 minutes, on  
               a z/OS machine with SU_SEC=10000.                        
                                                                        
              -Oct 30:  WPS 2.4 supports the FILENAME=variable option on
               the INFILE statement, so VMACSMF was revised.            
                                                                        
Change 27.238  ERROR: SRCE1 HAS ALREADY BEEN DEFINED AS NUMERIC if some,
ANALDB2R       but not all of the AUDIT sub-reports were requested.     
VGETOBS        The repair led to a MAJOR cleanup of ANALDB2R that also  
VMXGSUM        significantly reduced the run time (from 5 minutes to    
VFMT102        a few seconds for the AUDIT reports).                    
Sep  6, 2009   Originally:                                              
               -Data step creates DB2WORK as union of all input datasets
               -Data step creates DB2WORK1 TIMES from DB2WORK           
               -SORT DB2WORK1 (with MANY variables, long times possible)
               -SORT TIMES                                              
               -MEAN TIMES into TIMERNGE                                
               -Data step creates PREPRINT merging DB2WORK1 TIMERNGE    
               -DATA _NULL_ data step does printing                     
               Now                                                      
               -For each audit type if the data is present and non-zero 
                OBS View into SORT                                      
               -TIME view using datasets created into SORT              
               -MEANS of TIME into TIMERNGE                             
               -Data step creates view PREPRINT using only the datasets 
                created in first section and TIMERNGE                   
               -DATA _NULL_ step does printing code for datasets that   
                does not exist is never generated                       
              -The DATABASE= argument did not select for AUDIT reports. 
               Note that if the SMF data does NOT include the open event
               record (opened before the beginning of this SMF data),   
               the printed database will be the undecoded hex value,    
               and won't be the decoded database name in text.          
              -The VGETOBS, VMXGSUM, VMFT102 members were NOT altered in
               this change, but their new updates (Changes 27.237,      
               27.234, 27.236) are required to support this change to   
               ANALDB2R.                                                
   Thanks to Sam Knutson, GEICO, USA.                                   
   Thanks to Henry Boone, GEICO, USA.                                   
                                                                        
Change 27.237  Enhancement. If no DDNAME argument (zero length) then    
VGETOBS        the DATASET argument is examined and if is x.y, it will  
Sep  5, 2009   be split into DDNAME and DATASET so the PROC SQL can be  
Sep 28, 2009   invoked.  If DATASET contains x.y syntax AND there is a  
               DDNAME argument present, VGETOBS will fail with message  
               that that is not allowed.                                
                                                                        
Change 27.236  Cosmetic corrections to eliminate character to numeric   
VFMT102        conversion messages; VFMT102 in ANALDB2R, and ANAL30DD.  
ANAL30DD                                                                
Sep  5, 2009                                                            
                                                                        
Change 27.235  These six variables in MQMQUEUE are now converted to the 
VMAC116        local time zone; previously, they were on GMT:           
Sep  4, 2009     WQOPENTI WQCLOSTI WQTTTIME WTASSTRT WTASINTS WTASINTE  
Oct 12, 2009   The algorithm used to calculate the GMTOFF in the absence
               of the actual value in the record now used is:           
                 GMTOFF=3600*FLOOR(100*(FLOOR(SMFTIME/100)              
                                 -FLOOR(WTASINTE/100))/3600);           
               and the correction would then be:                        
                 WTASINTE=WTASINTE+GMTOFF; .                            
                                                                        
Change 27.234  VMXGSUM is revised so an OUTCODE= argument is not needed 
VMXGSUM        in many cases where it was previously required, so those 
Sep  5, 2009   VMXGSUM callers that could be revised to remove OUTCODE= 
               are changed, thereby eliminating the second DATA step,   
               and, a full pass of the output dataset.                  
               Previously OUTCODE= arguments were needed to set LENGTH  
               and FORMATs, but the SAS V8 INHERIT option made the extra
               step unnecessary.                                        
              -The second data step can be skipped if INTERVAL= NE NONE 
               and the DATETIME= argument's variable is in the BY list. 
              -Conditions that will force the second data step:         
                  %IF &NUMNORM           NE 0                           
                   OR &ERASEOUT          NE NO                          
                   OR %LENGTH(&OUTCODE)  NE 0                           
                   OR %LENGTH(&OUTCODE1) NE 0                           
                   OR %LENGTH(&OUTCODE2) NE 0                           
                   OR %LENGTH(&FREQ)     NE 0                           
                   OR %LENGTH(&DURATM)   NE 0                           
                   OR &INTERVAL          NE NONE                        
                   OR &NEWSHIFT          EQ Y                           
                   OR &SASVER            LT 7                           
                                                                        
Change 27.233  Debugging PUT statement now commented out.               
VMAC117                                                                 
Sep  4, 2009                                                            
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.232  TMON/DB2-created SMF 101 Subtype 0 record has an invalid 
VMACDB2        OFFQLAC value, @1875 vs the real @1879 location, and the 
Sep  3, 2009   extra 4 bytes were added to make QLACLEN=232 when only   
               228 bytes are actually present.  Unfortunately, QLACLEN  
               of 232 says the QLACOFF1 offset to a "truncated QLACLOCN 
               field" exists in two of those last 4 bytes, so MXG INPUT 
               the QLACOFF1 offset and attempted to INPUT, causing an   
               INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR.  This      
               (possibly temporary) change detects the record is NOT an 
               IBM record (because OFFQLAC is GT OFFPROD), adds 4 to    
               OFFQLAC and subtracts 4 from LENQLAC so MXG can input the
               mis-aligned record, and sets TMDBQLAC='Y' flag that this 
               was done.                                                
              -QLACMDWT is a binary value in the TMON/DB2 record, but it
               is a floating point value in IBM records, so this change 
               uses TMDBQLAC if set to INPUT the incorrect informat.    
              -Support at TMON/DB2 will be contacted and this text will 
               be updated when they respond.                            
   Thanks to Mary Vollmer, MGIC, USA.                                   
                                                                        
Change 27.231  The four listed ASUMs did not create variable ZDATE/ZTIME
ASUMDB2P       while the other thirty-seven ASUMs did.                  
ASUMDB2S                                                                
ASUMDB2G                                                                
ASUMDB2S                                                                
Sep  3, 2009                                                            
   Thanks to Denise Willers, InfoCrossing, USA.                         
                                                                        
Change 27.230  Variable LASTCLAS in IMF dataset CIMSPROG (from 'F9'x)   
VMACCIMS       was incorrectly INPUT @77 as $CHAR1, but it is now INPUT 
Sep  2, 2009   @76 as $CHAR2 and formatted $HEX4.                       
   Thanks to Brian Cummings, Federal Reserve Information Technology USA 
   Thanks to Fritz Zeigler, Federal Reserve Information Technology, USA 
                                                                        
====== Changes thru 27.229 were in MXG 27.08 dated Sep  1, 2009======== 
                                                                        
Change 27.229  Support for z/OS 1.11, COMPATIBLE.                       
EXTY8224      -TYPE 0. New variable:                                    
EXTY8225         CVTTZ   ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'          
EXTY8226      -TYPE1415. NO NEW DATA, but lots of text inserts about    
IMAC82           assembling the IFGSMF14 Macro with DSECT=YES, which is 
VMAC0            why it is flagged in the SMF Manual as changed.        
VMAC82        -TYPE30.  NO NEW DATA, only one line of text updated.     
VMXGINIT      -TYPE82.  New subtypes 24, 25, and 26.                    
May  2, 2009  -TYPE92.  Subtype 15 now documented, but MXG supported    
Sep  2, 2009            was added in Change 26.277 for APAR OA24208.    
              -TYPE1415 New variables DCBEEX31 XTIOTYES created from    
                        SMF14FLGS.                                      
              -Dec 3, 2009: CHANGE 27.325 is required for z/OS 1.11.    
                                                                        
Change 27.228  Support for APAR OA30197, adds SMF30ASI, new MXG variable
VMAC30         ASID in ID Segment of all SMF 30 records.  Kept in the   
Sep  1, 2009   TYPE30 ASID-level datasets (_1,_4,_5,_V,_6).             
                                                                        
Change 27.227  Observations were not output because DO loop logic was   
VMACINSY       incorrect for the INSYAUID='D' records. Variable INSYATA 
Sep  1, 2009   is now converted to EBCDIC text.                         
   Thanks to Mark Cohen, DTS, ITALY.                                    
                                                                        
Change 27.226  Dataset T112DTCO, DATACOM DETAIL, variables were invalid 
VMAC112.       due to misalignment.  Dataset T112MQCT variable MATTACH  
Aug 31, 2009   and dataset T112DTCT variable DATTACH were INPUT $CHAR8, 
               but they are now seen to be TODSTAMP values, so they are 
               changed from CHAR to NUM and formatted DATETIME25.6, and 
               are observed to be slightly prior to the UOWTIME.        
   Thanks to Richard Schwartz, State Street Bank, USA.                  
                                                                        
Change 27.225  Cosmetic. Long messages (listing all requested reports)  
ANALRMFR       are split and shifted left for readability, and the list 
Aug 31, 2009   of valid INTERVAL= values was updated.                   
                                                                        
Change 27.224  Eight new IBM fields starting with R7452xxx were named in
VMAC74         MXG as R7451xxx, accidentally, as all of the other fields
Aug 31, 2009   in that segment are IBM-named R7451xxx. But these eight  
                  R7452XTY R7452XFL R7452PRO R7452PWO R7452PBR          
                  R7452PBW R7452PRT R7452PWT                            
               are all a second field name for the same field location, 
               and apparently IBM decided to note that difference by    
               naming them with a 2 vs a 1.  In any event, to match the 
               SMF Manual field names in the MXG Variable names, those  
               eight are now named with a 2 instead of a 1.             
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 27.223  New "TOP" DB2 Report ranks resource usage by correlation 
ANALDB2T       id and authid, for these resource metrics:               
Aug 30, 2009      CLASS*1 CPU*RANK                                      
                  CLASS*2 CPU*RANK                                      
                  ELAPSED*RANK                                          
                  GET*PAGE*RANK                                         
                  TOTAL*GET*PAGES                                       
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' records.  The 
FORMATS        two datasets NDMSC and NDMS2 were already created, but   
VMACNDM        they only contained the header variables until now.      
Aug 30, 2009                                                            
   Thanks to Robert S. Zimmerman, HMS, USA.                             
                                                                        
Change 27.221  Support for zOSEM Operating System Environment Manager   
EXOSEMCM       from Trident Services user SMF record creates 3 datasets:
EXOSEMRE                                                                
EXOSEMWT          DATASET DATASET   DATASET                RECORD       
FORMATS           SUFFIX  NAME      LABEL                  SUBTYPE      
IMACOSEM                                                                
TYPEOSEM          OSEMCM  OSEMCMD   OSEM FEMCNTL CMD          1         
TYPSOSEM          OSEMWT  OSEMWTO   OSEM FEMWTO CMD           2         
VMACOSEM          OSEMRE  OSEMRES   OSEM JES2 EXIT44          3         
VMXGINIT                                                                
Aug 30, 2009                                                            
   Thanks to Larry Stahl, IBM Global Services, USA.                     
                                                                        
Change 27.220  MXG 27.06-27.07.  %ANALCNCR failed if INDATA= specified  
ANALCNCR       more than one dataset.  "Cosmetic" protection was added  
BUIL3005       by Change 27.165 to verify that the input dataset exists,
BUILD005       to avoid DATASET NOT FOUND errors, but it only parsed the
MNTH72         1st INDATA (to get DDNAME and DATASET to pass to VGETOBS,
TRND72         as PROC SQL which requires separate arguments).  Now,    
Aug 29, 2009   each token in the INDATA= argument is parsed & verified. 
               If all datasets have zero observations, an MXGWARN is    
               produced at the beginning and if there are zero obs in   
               the output dataset another MXGWARN will appear.          
               If all datasets in the INDATA= do not exist, %ANALCNCR   
               will stop processing, but if one or more do exist, the   
               output dataset will be created and populated if possible,
               but MXGWARN messages will identify which INDATA= datasets
               did not exist.  Prior to Change 27.165, multiple datasets
               were supported because the only INDATA reference was the 
               SET &INDATA; statement which read all of the input, but  
               that statement failed if any input dataset did not exist.
              -The only MXG member that invokes %ANALCNCR with multiple 
               INDATA= datasets is ANALHTML, which exposed this error,  
               with its INDATA=PDB.STEPS SPIN.SPIN30_4, statement.      
              -In testing the new %ANALCNCR with ANALHTML, SAS printed  
               warnings that MSOUNITS had different lengths in those two
               datasets.  Investigation found MSOUNITS & SERVICE weren't
               always stored in 8 bytes, so updates were made to members
               BUILD005 BUIL3005 MNTH72 and TRND72 so that all instances
               of variables MSOUNITS and SERVICE are now LENGTH 8.      
              -All INTERVAL= arguments that specify an interval token   
               with a fixed-length interval duration are supported.     
               TIMER is set to the interval and SYNCINTV=YES is used    
               (but that could be overridden in your %ANALCNCR).        
   Thanks to Tony Curry, BMC, USA.                                      
                                                                        
Change 27.219  TYPE11GD dataset variables CTGIAVRS and CTILAVRS were    
VMAC111        reversed in their INPUT locations.                       
Aug 28, 2009                                                            
   Thanks to Jim Poletti, Edward Jones, USA.                            
   Thanks to Gordon E. Griffith, Edward Jones, USA.                     
                                                                        
Change 27.218  Variable SMF70LAC in PDB.RMFINTRV was the maximum value  
VMXGRMFI       during the sub-intervals that were summarized; it is now 
Aug 28, 2009   the average value, so it matches PDB.ASUMCELP values.    
               However, the RMF reports may print that Maximum value of 
               any inputted sub-interval.                               
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.217  PDB.TYPE70PR with SMF70CIN blank but SMF70ONT nonzero was
VMAC7072       created if the last LPAR was offline (LPARCPUX=0).  That 
Aug 28, 2009   caused NRCIXGT0 to be a missing value, so the second test
               IF NRCIXGT0 GT 0 THEN ... was not executed.  That second 
               test is now redundant, as SMF70CIX always exists now, so 
               that IF ... END was removed.  Error was introduced in    
               MXG 27.03 by Change 27.075.                              
   Thanks to Rudolf Sauer, T-Systems, GERMANY.                          
                                                                        
Change 27.216  Change 27.126 accidentally removed SYTLPNAM from the KEEP
VMACXAM        list for XAMSYT dataset, and left it in the KEEP list for
Aug 28, 2009   the XAMSYU dataset.                                      
   Thanks to Douglas C. Walter, Citigroup, USA.                         
   Thanks to Tony Curry, BMC, USA.                                      
                                                                        
Change 27.215  TMON/CICS Version 3.1 INPUT STATEMENT EXCEEDED RECORD    
VMACTMO2       error with 'TI' (Statistics Interval) record; the segment
Aug 26, 2009   of data starting with TIMQSOPC exist in 3.1, but MXG only
               input those fields for TMMDVREL GE 3.2; the test before  
               that INPUT statement was changed from 3.2 to 3.1.        
   Thanks to Dianne Dunklau, Kohls, USA.                                
                                                                        
Change 27.214  Summarized RMFINTRV/ASUM70PR output datasets could have  
VMXGDUR        the STARTIME/SMF70GIE values early by one INTERVAL unit  
VMXGRMFI       (e.g., data STARTIME midnight, INTERVAL=HALFHOUR caused  
VMXG70PR       output STARTIME of 23:30) after Change 27.178 used the   
Aug 28, 2009   SMF70GIE vice STARTIME (because of unstable STARTIMEs).  
               Note Jan 21, 2010:  "Unstable as in exactly one second   
Nov 10, 2009   later than the expected Start of Interval."              
ASUM70PR      -A new argument FLORCEIL=FLOOR/CEIL is added to VMXGDUR   
ASUMCAPT       with FLOOR (unchanged) as the default, and the %VMXGDUR  
ASUMMIPS       calls in VMXGRMFI and VMXG70PR that interval the         
ASUMSMFI       SMF70GIE/SYNCTIME end times now specify FLORCEIL=CEIL.   
               No user had reported/noticed this error (yet!).          
                                                                        
               The rest of this text was REVISED when CHANGE 27.308     
               reset the SYNC59=NO default back in place in MXG 27.10:  
                                                                        
              -For summarizing INTERVAL data ONLY (RMFINTRV, SMFINTRV,  
               CICINTRV, etc datasets with existing interval start/end):
                                                                        
               If you still specify SYNC(59) to write Interval data in  
               minutes 59,14,29,44, the SYNC59=YES parameter can be used
               to change the DATETIME to "pretty" 00,15,30,45 startimes.
               This is needed when SYNC(59) is in SYS1.PARMLIB members  
               SMFPRMxx or ERBRMFxx in SYS1.PARMLIB.                    
                                                                        
               Using the FLORCEIL=FLOOR to calculate the interval start,
               with SYNC(59) data and INTERVAL=HOUR, for time 19:59:    
                SYNC59=YES adds one minute to DATETIME, so 19:59 becomes
                 20:00, and the FLOOR(DATETIME) sets 20:00 as the Start.
                 This is correct, hour 20 for the 19:59-20:58 interval. 
                SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME) 
                 is 19:00 for the Start, WHICH IS THE WRONG HOUR!!!     
                SYNC(59) data REQUIRED SYNC59=YES for correct output.   
                                                                        
               Using the FLORCEIL=FLOOR to calculate the interval start,
               consider SYNC(00) data and INTERVAL=HOUR, for time 20:00:
                SYNC59=YES adds one minute to DATETIME, so 20:00 becomes
                 20:01, but the FLOOR(DATETIME) sets 20:00 as the Start,
                 which is what you wanted, even though the data is (00).
                SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME) 
                 sets 20:00 as the Start, WHICH IS ALSO WHAT YOU WANTED.
               But, using the FLORCEIL=CEIL to calculate interval end,  
               SYNC59 must NOT be used.  With datetime 19:59 or 20:00,  
               the CEIL(DATETIME) returns 20:00 with SYNC59=NO.  But if 
               SYNC59=YES added a minute here, then 20:00 would be 20:01
               and CEIL(DATETIME) would then (INCORRECTLY) be 21:00.    
               Therefore, when using FLORCEIL=CEIL, VMXGDUR does NOT    
               change the value in DATETIME before the CEIL(DATETIME),  
               even if SYNC59=YES was specified.                        
                  Only ASUM70PR/VMXG70PR and RMFINTRV/VMXGRMFI currently
                  use the FLORCEIL=CEIL option to group by End Interval,
                  but only internally; the final sorts are BY STARTIME. 
              -These members were changed from SYNC59=NO to SYNC59=YES: 
               ASUM70PR ASUMCAPT ASUMMIPS ASUMSMFI VMXG70PR VMXGRMFI    
                                                                        
              -THE PRECEDING IS ONLY FOR SUMMARIZING INTERVAL DATA.     
                                                                        
              -FOR DETAIL TRANSACTIONS, SYNC59=NO MUST ALWAYS BE USED.  
               MXG 27.08 CHANGED TO SYNC59=YES IN VMXGDUR.              
                (This caused PDB.CICS transaction's HOUR to change.)    
               MXG 27.10 RESTORED THE SYNC59=NO DEFAULT IN VMXGDUR.     
                                                                        
Change 27.213  HFS and zFS EXCPs are counted in EXCPTOTL and EXCPNODD   
BUILD005       (see MXG Newsletter FIFTY-FIVE, MVS Technical Note 1)    
BUIL3005       but there are no DD Segment EXCP counts for HFS/zFS, so  
VMAC30         you don't know how much of EXCPNODD is due to HFS/ZFS, so
Aug 21, 2009   you can't subtract the HFS/ZFS EXCPS from EXCPTOTL.      
Sep  1, 2009   This change creates four new variables in TYPE30_V and   
               TYPE30_4 datasets:                                       
                  USSEXCPS='USS-OMVS*TOTAL*EXCPS'                       
                  USSBYTES='USS-OMVS*TOTAL*BYTES'                       
                  USSCALLS='USS-OMVS*TOTAL*CALLS'                       
                  USSCPUTM='USS-OMVS*SYSCALLS*CPU*TIME'                 
               with the sum of those counts from all OMVS segments in   
               the interval and step termination SMF 30 records.        
               Those variables are also now summed in PDB.STEPS and     
               PDB.JOBS when BUILDPDB is used to process SMF 30s.       
              -In testing this change, subtype 5 records for BPXAS STC  
               have all resource variables with zero value, even STEPNR,
               and some zeros cause missing value calculations.  Logic  
               was revised to prevent those harmless but confusing notes
               on the SAS log for those records.                        
               See MXG Newsletter FIFTY-FIVE, MXG Technical Note titled 
               1. Summary: "EXCP" counts recorded for access to HFS ....
                                                                        
Change 27.212  Support for APAR OA30006 for DCOLLECT, adds 8-byte fields
VMACDCOL       at the end of the record for the dataset storage sizes in
Aug 21, 2009   DCOLDSET dataset.  The new fields replace the value in   
               existing variables DCDALLSP DCDUSESP DCDSCALL DCDNMBLK   
               when the new fields are populated.                       
                                                                        
Change 27.211  Support for new-in-z/OS 1.10 DFSORT variables added to   
VMAC16         existing TYPE16 dataset:                                 
Aug 21, 2009      ICEINMRG='INTERMEDIATE*MERGES*PERFORMED'              
                  ICEMNFLG='SIZE=MAX*IN*EFFECT?'                        
                  ICEMNVLX='SPECIFIED*OR DEFAULT*STORAGE'               
                  ICEMNVLY='THEORETICAL*STORAGE*AVAILABLE'              
                  ICEMNVLZ='AVAILABLE*STORAGE'                          
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.210  A harmless Division By Zero when creating PDB.DB2STATS   
VMACDB2        occurred in calculating variable THRDFTPT (to mimic the  
Aug 20, 2009   IBM MENU2 report), added by Change 27.097, if variables  
               QW0225AT and QDSTCNAT were both zero.  Divide protected. 
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.          
                                                                        
Change 27.209  TMON/DB2 BF record's SQL text is not quite as documented.
VMACTMDB       BF0142LL, the "length" is 52, indicating there should be 
AUG 19, 2009   50 bytes of text, but the next two bytes are INPUT in    
               new MXG variable BF0142RL, which is the original (real)  
               length of the original SQL text, and then, instead of the
               documented 50 bytes of sql text, the record contains only
               the first 48 bytes of text, kept in BF0142TT.  BF0142LL  
               is then reduced by 2 to a value of 50 in TMDBBF dataset. 
   Thanks to Ernie Amador, UC Davis Health System, USA.                 
                                                                        
Change 27.208  Cosmetic. Calculation of AVGWKSET caused notes on the log
VMAC30         "Missing Values were generated" if MULTIDD='Y', because  
AUG 19, 2009   those records contain ONLY DD segments.  Those notes are 
               now eliminated by only calculating for "real" records.   
                                                                        
Change 27.207  MXG 27.07. Change 27.174 stopped deaccumulation of the   
VMACDB2        PDB.DB2STATS vars QSSTCONT and QSSTCRIT, incorrectly, as 
Aug 18, 2009   both are accumulated and must be deaccumulated.          
   Thanks to Bill McDonald, Kimberly-Clark, USA.                        
                                                                        
Change 27.206  The LABEL for variables STEPNAME and PROCSTEP in VMAC42  
VMAC42         were the variable name, unlike all of the other labels   
Aug 18, 2009   for those common variables; if you added processing of 42
               records as the last physical VMAC in your BUILDPDB, those
               STEPNAME='STEPNAME' and PROCSTEP='PROCSTEP' labels were  
               used for all BUILDPDB-created datasets.  VMAC42 now has  
               STEPNAME='STEP*NAME' & PROCSTEP='PROCEDURE*STEP*NAME'    
   Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.           
                                                                        
Change 27.205  Documentation. PDB.TYPE70PR observations for ICF engines 
VMAC7072       with the LCPUPDTM (CPU Dispatch Duration) slightly larger
Aug 18, 2009   than the SMF70ONT (Online Duration) have been observed.  
               The maximum difference in an LPAR engine was 52 millisec,
               0.052 seconds, but in that same interval, the PHYSICAL   
               ICF engine recorded 0.026 seconds, so the total ICFACTTM 
               for that interval was 78 milliseconds larger than the    
               online duration of exactly 900 seconds for that interval.
               But some intervals do not always have exactly 900 seconds
               online; in 26 intervals, 13 were exactly 900 seconds, 6  
               were shorter, by as much as 0.018 seconds, and 7 were    
               longer, by as much as 0.018 seconds.  This was z/OS 1.9  
               on a 2094-720 with 1 ICF, 2 IFLs, and 17 CPs.  The ICF   
               Percent Busy was 100.00008 with that largest difference; 
               the only circumvention is to test the PCT value and reset
               it to 100% if greater than 100 (but, if greater than 101%
               print a warning message and investigate further).        
     Thanks to Nicholas Ward, Centrelink, AUSTRALIA                     
                                                                        
Change 27.204  Change 27.154 did not protect when the offset to the Path
VMAC92         Section was non-zero but there was no Path Section; it   
Aug 17, 2009   caused an INPUT STATEMENT EXCEEDED RECORD LENGTH error.  
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.  
                                                                        
Change 27.203  MXG 27.06-MXG 27.07, PDB.ASUMTALO had too few obs created
ANALCNCR       due to an error introduced in ANALCNCR in Change 27.165. 
Aug 17, 2009   The ANALCNCR error ONLY occurs if the TIMERNGE= argument 
ASUMTALO       was used; ASUMTALO is the only MXG member that invokes   
               %ANALCNCR with a TIMERNGE= argument.  Change 27.165 added
               elimination of character-to-numeric conversion messages, 
               but four typo's in new code stored &LOTIME into &HITIME. 
               Only ANALCNCR was changed in this change; ASUMTALO is    
               listed only to document it is impacted by this error.    
              -You should check your tailoring/report source libraries  
               to see if %ANALCNCR is used with the TIMERNGE= argument. 
               This ANALCNCR "utility" is inconsistently named, since it
               creates an output dataset, rather than an analysis; it   
               is used to count the number of concurrent events across  
               time (like tape drives allocated each hour in ASUMTALO). 
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.   
                                                                        
Change 27.202  MXG 27.07.  Debugging PUT statement at line 757 was      
VMAC116        removed.                                                 
Aug 14, 2009                                                            
   Thanks to Alfred Holtz, Medco Health Solutions, USA.                 
                                                                        
Change 27.201  More DB2 Updates.                                        
ANALDB2R                                                                
READDB2                                                                 
Aug 12, 2009                                                            
                                                                        
Change 27.200  Support for CICS/TS 4.1 GA updates/documentation notes:  
EXCICMLR      -Format MG110MP updated for new TCB Pool values of XPLINK,
EXCICRLR       SSL, and THRD, new formats MGCICAT, MGCICRT created.     
EXCICSJS      -Dataset  CICECC new variables:                           
EXCICW2R        ECCCANAM ECCCAPOI ECCCAPTY ECCEBNAM ECCEVCAP ECCEVNAM   
FORMATS       -Dataset  CICECG new variables:                           
IMAC110         ECGFLFAI ECGCAPFA ECGEVLCO ECGEVLOT                     
VMAC110       -Dataset  CICECR new variables:                           
VMXGINIT        ECRCHGAG ECRCHGDT ECRCHGUS ECREBNAM ECRGRFRM ECRINSAG   
Aug 16, 2009    ECRINSDT ECRINSUS                                       
              -Dataset  CICEPR new variables:                           
                EPGSYNBK EPGEVLCO EPGEVLOT                              
                                                                        
              -New Statistics Datasets created:                         
                                                                        
                 dddddd   dataset   description                    stid 
                                                                        
                 CICRLR   CICRLR  CICS BUNDLE                       100 
                 CICW2R   CICW2R  CICS ATOMSERVICE                  110 
                 CICMLR   CICMLR  CICS XMLTRANSFORM                 113 
                 CICSJS   CICSJS  CICS JVMSERVER STATISTICS (RESID  116 
                                                                        
                 Note: STID=79, STIMNR is not a Statistics DSECT, but is
                       a SUBTYPE=1,MNSEGCL=5 Transaction Record; support
                       for which was added in MXG 20.20, Change 20.200. 
                                                                        
                       STID=84, STIMNT is never created in SMF records; 
                       it is an online interface only.                  
                                                                        
              -Change 27.032 noted there are 3 new TCBs in CICS/TS 4.1, 
               T8, EP, and TP, but only T8CPUT is recorded in CICSTRAN. 
               The EP TCB for Event Processing is explicitly NOT in the 
               CICSTRAN data, because IBM states that processing of the 
               new Business Event is NOT to be chargeable to users.     
               A TP TCB is created for every JVMSERVER resource def that
               is installed and enabled, but I have not found a reason  
               why they are not captured in CICSTRAN.                   
              -DOCUMENTATION.  CICS Statistics datasets CICDS, CICDSPOO 
               have many variables starting with DSG,DS1-DS9,DSA-DSN,   
               and their labels were not consistent.  This list is now  
               added at the bottom of VMAC110, and the labels revised:  
                                                                        
               DOCUMENTATION OF THE VARIABLES STARTING WITH DS.         
                                                                        
               TWO DATASETS CONTAIN VARIABLES THAT START WITH DS:       
               DATASET CICDS - DISPATCHER STATISTICS:                   
               - "INTERVAL" VARIABLES STARTING WITH DSGXXXXX            
               - "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN  
               DATASET CICDSPOO - TCB POOL STATISTICS:                  
               - "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5         
                                                                        
               DATASET CICDS - DISPATCHER STATISTICS:                   
               - "INTERVAL"  VARIABLES STARTING WITH DSG:               
                  DSGNTCB  DSGCNT   DSGEJST  DSGICVRT DSGICVSD DSGICVT  
                  DSGMBTCH DSGPNT   DSGPRIAG DSGPTCB  DSGSRBT  DSGSTART 
                  DSGLSTRT DSGSTSKS DSGXSCNN DSGXSCNS DSGXTCBD          
                                                                        
               - "INTERVAL" VARIABLES ALWAYS MISSING VALUES:            
                  DSGAMXTC DSGAMXTL DSGAMXTP DSGLRT   DSGMAXOP DSGTAMXT 
                  DSGTL    DSGTOTWT                                     
                                                                        
                                                                        
               DATASET CICDS - DISPATCHER STATISTICS:                   
               - "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN  
                  (The TCB NUMBER HAS CHANGED BETWEEN CICS RELEASES)    
            3.2   4.1  TCB    MXG VAR                                   
            NUM   NUM  NAME   PREFIX    DESCRIPTION                     
            --          H8      DSC     H8 - NOT IN CICS/TS 3.1+        
              1         QR      DSG*    QUASI REENTRANT MODE            
              2         RO      DS2*    RESOURCE OWNING MODE            
              3         CO      DS3*    CONCURRENT MODE                 
              4         SZ      DS4*    SECONDARY LU MODE               
              5         RP      DS5*    ONC/RPC MODE                    
              6         FO      DS6     FILE OWNING MODE                
              7         SL      DS7     SOCKETS OWNING MODE (SL)        
              8         SO      DS8     SOCKETS OWNING MODE (SO)        
              9         SP      DSH     SOCKETS PTHREAD OWNING MODE (SP)
                  10    EP      DSM     EVENT PROCESSING MODE           
             10   12    D2      DSD     D2 - DB2 MODE                   
             11   13    JM      DSE     JM - JVM CLASS CACHE MODE       
                  11    TP      DSN     TP - THREADED TCB OWNING MODE   
             12   14    S8      DSB     S8 - SOCKETS (SSL) MODE         
             13   15    L8      DSA     L8 - OPEN MODE CICS             
             14   16    L9      DSI     L9 - OPEN MODE USER             
             15   17    J8      DS9     J8 - OPEN MODE CICS             
             16   18    J9      DSF     J9 - OPEN MODE USER             
             17   19    X8      DSJ     X8 - OPEN MODE CICS             
             18   20    X9      DSK     X9 - OPEN MODE USER             
             19   21    T8      DSL     T8 - JVM MULTITHREADED          
                                                                        
            THE ABOVE TABLE MAPS EACH TCB NAME TO ITS VARIABLE PREFIX.  
            THESE "PER TCB" VARIABLES ARE POPULATED:                    
                                                                        
                 DS.ACT   DS.NTCBA DS.PERCT DS.START DS.SYSW  DS.TCBAF  
                 DS.TCBAL DS.TCBCA DS.TCBCU DS.TCBDO DS.TCBDS DS.TCBDU  
                 DS.TCBDX DS.TCBMD DS.TCBMM DS.TCBMP DS.TCBNM DS.TCBPA  
                 DS.TCBPU DS.TCBST DS.TCT   DS.TDT   DS.TWT             
                                                                        
                 THESE "PER TCB" VARIABLES ALWAYS HAVE MISSING VALUES:  
                 DS.PERCT DS.TCBF1 DS.TCBF2 DS.TCBF3                    
                 DS.TCBF4 DS.SCT   DS.SWT                               
                                                                        
               DATASET CICDSPOO - TCB POOL STATISTICS:                  
               - "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5         
                                                                        
                  DSG   OPEN POOL (CONSISTING OF L8 AND L9 TCBS)        
                  DS2   JVM POOL  (CONSISTING OF J8 AND J9 TCBS)        
                  DS3   XP POOL   (CONSISTING OF X8 AND X9 TCBS)        
                  DS4   SSL POOL  (CONSISTING OF S8 TCBS)               
                  DS5   THRD POOL (CONSISTING OF T8 TCBS)               
                                                                        
                  J8 L8 S8 T8 AND X8 TCBS ARE CICS TCBS.                
                  J9 L9 AND X9 TCBS ARE USER TCBS.                      
                                                                        
               "TCB POOL" VARIABLES HAVE DSG,DS1,DS2,DS3,DS4,DS5 PREFIX:
                                                                        
                  DS.CMMWS DS.CMMWT DS.CNUAT DS.CNUUS DS.CURNW DS.CURWT 
                  DS.MMWTM DS.MMWTS DS.MXTCB DS.NTCBL DS.PEANW DS.PMWWS 
                  DS.PNUAT DS.PNUUS DS.TCBPN DS.TOTMT DS.TOTMW DS.TOTNW 
                  DS.TOTWL                                              
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 27.199  Documentation of this error message:                     
JCLTEST9         ERROR: PHYSICAL FILE DOES NOT EXIST, ATP1DKP.ADM.DATA. 
Aug 12, 2009   occurs when a FILE ADM statement was found, but there was
               no //ADM DD in the job. SAS then looks for a file named  
               JOBNAME.FILENAME.DATA, and fails.                        
                                                                        
Change 27.198  Even when PDBOUT= was not specified, so the null default 
ANALRMFR       (write to //WORK) was desired, ANALRMFR still wrote the  
Aug 12, 2009   TYPE7xxx datasets to //PDB instead of //WORK.  %LETs were
               added to protect the SPLIT70 logic.                      
   Thanks to Kim Westcott, New York State Office of Technology, USA.    
                                                                        
Change 27.197  Change 27.175 added DB2STATB/DB2STATS/DB2GBPST but failed
ANALDB2R       (VARIABLE SYSTEM NOT FOUND) if DB2STATB was redirected to
Aug 12, 2009   a separate input DDNAME.                                 
   Thanks to Scott Wiig, USBank, USA.                                   
                                                                        
Change 27.196  Change 27.138 heuristic test for LENGTH=412 for subtypes 
VMAC85         78,79,88 did not generalize and still failed with record 
Aug 12, 2009   from z/OS 1.10 subtype 78 record.  The test was revised  
               to test  R85PVRM IN (1030 1090 1100 1110) to hopefully   
               protect 1.9, 1.10 and 1.11 records, but only 1.10 and    
               ancient 1.30/1.40 records are validated with SMF data.   
   Thanks to Brian Felix, Wachovia Bank, USA.                           
   Thanks to Mike Spires, Wachovia Bank, USA.                           
                                                                        
====== Changes thru 27.195 were in MXG 27.07 dated Aug 11, 2009======== 
                                                                        
Change 27.195  Documentation only.  When IFCIDS=ACCOUNT is specified,   
READDB2        READDB2 automatically creates the DB2ACCTB dataset, but  
Aug 11, 2009   when BUILDPDB/TYPEDB2 is used, the EXDB2ACB exit is used.
               So if you (incorrectly) had a DELETE statement in your   
               tailored EXDB2ACB member, the number of observations that
               were created in DB2ACCT/DB2ACCTB/DB2ACCTG were much less 
               with BUILDPDB/TYPEDB2 than with READDB2.  The EXDB2ACB   
               exit is the ONLY DB2 exit that is overridden in READDB2. 
                                                                        
Change 27.194  These variables from the LPAR Object in NMON/TAPAS record
VMACNMON       are now input and kept:                                  
Aug 11, 2009     CAPPED EC_USER EC_SYS  EC_WAIT EC_IDLE VP_USER         
                 VP_SYS VP_WAIT VP_IDLE FOLDED  POOL_ID                 
   Thanks to Steve Dyck, Canadian Depository for Securities, CANADA.    
                                                                        
Change 27.193  READDB2 with Change 27.169 did not copy all ACCOUNT data 
READDB2        sets to the PDBOUT= parameter, when it was used.         
Aug 11, 2009                                                            
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.                 
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.                    
                                                                        
Change 27.192  Incorrect READTIME (date in 2010) because CA=7 overlaid  
VMAC110        the first byte of the time part with 'EE'x, but CA is    
Aug 11, 2009   then supposed to correct that overlay in the SMF write   
               exit, which requires specific code for each record type. 
               Apparently, CA-7 has failed to protect the SMF 110s,     
               but MXG detects now and corrects READTIME in SMF 110.    
                  Search CHANGESS for "UCC7" LAST for further info.     
   Thanks to Marnel Groebner, State of Washingon, USA.                  
                                                                        
Change 27.191  Variable ACTVWSS, working set size, in dataset XAMUSR,   
VMACXAM        was incorrectly multiplied by 4096; it is already in     
Aug 11, 2009   bytes, not KB, so the multiply was removed.              
   Thanks to Chris Morgan, CitiCorp, ENGLAND.                           
                                                                        
Change 27.190  Dataset TMS.TMS observations with DEVTYPE blank were     
VMACTMS5       found with TRTCH='D0'x and 'EE'x, and TMS shows those    
Aug 10, 2009   as DEN 3590 and 3592, so those hex values are now mapped 
               to the DEN values in DEVTYPE.                            
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.189  Support for Serena's StarTool IOO Product's USER SMF     
EXIOOVBU       creates 10 datasets:                                     
EXIOOQBU                                                                
EXIOORBL         DATASET    DATASET   DATASET                           
EXIOOVUS         SUFFIX     NAME      LABEL                             
EXIOOVRP                                                                
EXIOOVX1         IOOVBU     IOOVBUF   VSAM BUFFER OPTIMIZATION          
EXIOOVX2         IOOQBU     IOOQBUF   QSAM BUFFER OPTIMIZATION          
EXIOOVX3         IOORBL     IOORBLK   QSAM BLKSIZE OPTIMIZATION         
EXIOOVX4         IOOVUS     IOOVUSR   USER BLDVRP                       
EXIOOVX5         IOOVRP     IOOVRPB   BLDVRP OVERRIDE                   
FORMATS          IOOVX1     IOOVEX1   OPT BYPASS AS PER RULES TABLE     
IMACIOO          IOOVX2     IOOVEX2   OPT BYPASS NO RULES TABLE MATCH   
TYPEIOO          IOOVX3     IOOVEX3   OPT BYPASS BUFFER CHANGE NOTAUTH  
TYPSIOO          IOOVX4     IOOVEX4   OPT BYPASS JCL PARMS PRESENT      
VMACIOO          IOOVX5     IOOVEX5   OPT BYPASS CSR FAILURE            
VMXGINIT                                                                
Aug 10, 2009                                                            
                                                                        
Change 27.188  MXG 27.04-27.06.  When DB2STATS was enhanced to include  
VMACDB2        the IFCID=225 DB2STAT4 dataset, the BY list for the sort 
Aug 10, 2009   order for DB2STAT0 and DB2STAT1 was incorrectly changed, 
               which could cause a NOT SORTED error in WEEKBLD/MONTHBLD.
               This change resets the sort order for DB2STAT0/DB2STAT1  
               to the expected  SYSTEM QWHSSSID QWHSSTCK.               
               The same order can NOT be used to create DB2STATS because
               the QWHSSTCK timestamp is not consistent in an interval; 
               instead, SYSTEM QWHSSSID QWHSACE QWHSMTN QWHSISEQ must be
               used to create DB2STATS.                                 
               If you encounter the NOT SORTED error, you can remove the
               BY statement in your WEEKBLD/MONTHBLD to circumvent.     
                                                                        
               BUT: the better solution is to REMOVE DB2STAT0, DB2STAT1 
               and DB2STAT4 from your WEEKBLD and MONTHBLD, because they
               are completely contained in the DB2STATS dataset!        
                                                                        
               Unfortunately, I have to leave them in WEEKBLD/MONTHBLD  
               because they are already there, and removing them would  
               create a bigger exposure to DATA SET NOT FOUND errors!   
   Thanks to Wayne Bell, UniGroup, USA.                                 
                                                                        
Change 27.187  In spite of my note in IMACICDL "beginning with IMS 5.1  
IMACICDL       CICS/TS 1.1+ do NOT support DL/1 calls from CICS" SMF 110
UTILEXCL       records with the optional IMACICDL data segment can still
VMAC110        be created, and with CICS/TS 3.2, it is INCOMPATIBLE due 
Aug  8, 2009   to the increase to 12 byte clock/counters.  IMACICDL was 
               revised to support both lengths, even though ALL of the  
               fields in the IMACICDL segment are now ALWAYS zeroes.    
              -UTILEXCL's generated KEEP= statement was updated to KEEP 
               these variables, but ONLY so I could confirm the zeroes. 
              -A DROP statement was added in IMACICDL so these variables
               will be dropped if you do have to tailor IMACICDL.       
                                                                        
Change 27.186  WSF record with ACCSTAT='.1......'B flag, which says that
VMACWSF        the ACCKTN Extension added in WSF 3.3.6 exists, caused an
Aug  7, 2009   INPUT STATEMENT EXCEEDED RECORD LENGTH when it did not   
               have the minimum-length-20-byte segment present; MXG now 
               tests that both that bit is on, AND that 20 bytes of data
               actually exists before inputting the extension fields.   
   Thanks to Norm Folkers, CGI, CANADA.                                 
                                                                        
Change 27.185  Variable R744RSST='TOTAL*SIGNAL*SERVICE*TIME' in dataset 
VMAC74         TYPE74DU/XTY74DU was incorrectly divided by 10**(-6); it 
Aug  7, 2009   was already converted to microseconds in the INPUT and   
               should not have also been divided.                       
   Thanks to Yacine Amraoui, La Banque Postale, FRANCE.                 
                                                                        
Change 27.184  Support for VMWARE objects in NTSMF adds new datasets:   
VMACNTSM         dddddd  Dataset   Description/Object Name              
Aug  7, 2009     NTVWGC  VMWGUCPU  VMWARE.GUEST.CPU                     
                 NTVWGD  VMWGUDIS  VMWARE.GUEST.DISK                    
                 NTVWGM  VMWGUMEM  VMWARE.GUEST.MEMORY                  
                 NTVWGN  VMWGUNET  VMWARE.GUEST.NET                     
                 NTVWGR  VMWGURES  VMWARE.GUEST.RESCPU                  
                 NTVWGS  VMWGUSYS  VMWARE.GUEST.SYS                     
                 NTVWHC  VMWHOCPU  VMWARE.HOST.CPU                      
                 NTVWHD  VMWHODIS  VMWARE.HOST.DISK                     
                 NTVWHM  VMWHOMEM  VMWARE.HOST.MEMORY                   
                 NTVWHN  VMWHONET  VMWARE.HOST.NET                      
                 NTVWHR  VMWHORES  VMWARE.HOST.RESCPU                   
                 NTVWHS  VMWHOSYS  VMWARE.HOST.SYS                      
                 NTVWRP  VMWREPOL  VMWARE.RESOURCEPOOL                  
               and support for new objects ASP.NET V2.0.50727 and       
               ASP.NET APPS V2.0.50727 which are output in existing     
               ASPNET and ASPNETAP datasets.                            
                                                                        
Change 27.183  The Diagnose Instruction variables added by Change 26.203
VMACVMXA       were only INPUT and not kept in z/VM dataset VXPRCDIA.   
Aug  6, 2009                                                            
   Thanks to Jim Dammeyer, State Farm Auto, USA.                        
                                                                        
Change 27.182  Support for optional, user-created, CICS REQCNT1 field.  
IMACICUE                                                                
VMAC110                                                                 
UTILEXCL                                                                
Aug  6, 2009                                                            
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.                       
                                                                        
Change 27.181  Support for VOLSER='SCRTCH', a previously unseen (or not 
ASUMTAPE       noticed value for VOLSER), which has to be added to the  
Aug  5, 2009   existing exceptions for VOLSER='PRIVAT'.  Mounts with the
               VOLSER='SCRTCH', either in the TYPETMNT Mount dataset or 
               the TYPESYMT SYSLOG dataset, were not matched with their 
               TYPE21 (because it always has the resultant VOLSER).     
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.180 -Support for new CPU_PHYSICAL and CPU_ENTITLED objects in 
VMACNMON       TOPAS (originally NMON, Nigel's Monitor for AIX/LINUX)   
Aug  5, 2009   adds six variables from each into NMONINTV dataset:      
Aug  7, 2009     PPHYBUSY PPHYIDLE PPHYSYS PPHYUSER PPHYWAIT NRPHYS     
                 PNTIBUSY PNTIIDLE PNTISYS PNTIUSER PNTIWAIT NRNTIS     
              -MEMUSE record with invalid numeric value 0.275.9 in the  
               last field causes two harmless messages to be printed:   
                 INVALID ARGUMENT TO FUNCTION INPUT.                    
               and variable MUMAXCLI will have a missing value.         
              -INVALID ARGUMENT messages for RECTYPE='RAWCPUTOTAL' were 
               corrected; right hand argument of WORD2 test needed to be
               in all upper case.                                       
   Thanks to Steven Olmstead, Northwestern Mutual, USA.                 
                                                                        
Change 27.179 -MXG 27.05-27.06.  WORK datasets were not PROC DELETEd due
TYPETMS5       to debugging comments that should have been removed.  The
Aug  5, 2009   14 datasets required over 6400MB with a 700MB TMS input. 
   Thanks to Jim Kovarik, AEGON, USA.                                   
                                                                        
Change 27.178  ASUM70PR with STARTIME=16:29:59 (instead of 16:30:00) was
VMXG70PR       incorrectly reset to 16:15 when INTERVAL=QTRHOUR was used
VMXGRMFI       and this created an obs with DURATM=30 minutes instead of
Aug  5, 2009   the requested 15 minute summarization (fortunately, all  
               data values in that observation ARE correct!).  STARTIME 
               has always been used for MXG RMF summarization, because  
               the only other original choice, SMFTIME, was inexact, as 
               write delays could cause it to be in the next hour, etc. 
               But now, SMF70GIE, the expected, exact, end of interval, 
               always exists in current RMF/CMF records, so it is used  
               to define the interval when INTERVAL="value" is specified
               so STARTIME can then be exactly reset SMF70GIE-MXGDURTM. 
               SMF70GIE is already used elsewhere in VMXG70PR, but not  
               in the STARTIME reset algorithm.                         
                  If SYNC59=YES was accidentally specified (not needed  
                  here because the RMF data was written with SYNC=0),   
                  STARTIME was set to 16:30 instead of 16:15, and the 30
                  minute obs was accidentally NOT created.              
               Why the STARTIME is one full second earlier instead of   
               exact is not known, but this system was a 2094-709 with  
               VERSNRMF 750, and IRD was not active.                    
              -RMFINTRV was revised to also set STARTIME from SMF70GIE, 
               so there should always be a perfect match between the    
               PDB.RMFINTRV and PDB.ASUM70PR values.                    
                 But NOT with INTERVAL=DETAIL or INTERVAL=DURSET:       
                 MXG Only Resets the STARTIME to "clean" values when    
                 you specify an INTERVAL= "duration" (QTRHOUR,HOUR,etc).
   Thanks to Douglas C. Walter, Citigroup, USA.                         
   Thanks to Brent Turner, Citigroup, USA.                              
                                                                        
Change 27.177  Variable RECTOK was truncated to 12 bytes because it was 
VMACITRF       incorrectly formatted $HEX24; it is now correctly format 
Aug  4, 2009   with $HEX32 to set its stored length as 16 bytes.        
   Thanks to Shantha Hallett, Capgemini UK, WALES.                      
                                                                        
Change 27.176 -MXG support for IMF 4.4 was incorrect for these variables
VMACCIMS       that were previously binary with varying resolutions but 
Aug  5, 2009   were changed in 4.4 to floating point microseconds:      
                 TRNW1OTH TRNW2OTH TRNW2LCH TRNW2IOV TRNW2IOO TRNW3OTH  
                 TRNW3LCH TRNW4OTH TRNW4DBR TRNW4IO  TRNW5OTH TRNW5LCH  
                 TRNW5LCK TRNW5IOV TRNW5IOO TRNW5IOD TRNEAPPL TRNEDLTM  
                 TRNEDLDB TRNEDB2  TRNEMQS  TRNEOESS TRNEOPCL TRNESYNC  
              -Records with LTERM values that are neither EBCDIC nor    
               ASCII ('EE4A80B18DDDDEEA'x) print funny-looking text.    
               Using FORMAT LTERM $HEX16.; will show that hex value,    
               but that makes the true printable text unreadable.       
               Not really a problem, mostly an observation.             
              -BMC PTF BQI0695 corrects an error in which a DBD segment 
               could be overlaid with zeros.  This was detected because 
               SQLCALL='Y' (the transaction called DB2), but SQLCALLS   
               (the sum of calls in all DBD segments with DBORG='80'x)  
               was a missing value.  Any transaction with SQLCALL='Y'   
               must have at least one DBORG='80'x DB2 DBD segment.      
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.                 
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.                    
                                                                        
Change 27.175 -ANALDB2R detected but did not tolerate the absence of the
ANALDB2R       DB2STATB dataset.                                        
Jul 31, 2009  -Aug 9: ANALDB2R now honors DB2STATB/DB2STATS parameters  
Aug  9, 2009   and new DB2GBPST parameter is added.                     
   Thanks to Scott Wiig, USBank, USA.                                   
                                                                        
Change 27.174  Variable QSSTCONT and QSSTCRIT were deaccumulated, but   
VMACDB2        they should not have been, as they are end point values. 
Jul 30, 2009   CHANGE REVERSED: SEE CHANGE 27.207.                      
   Thanks to Ray Dunn, CIGNA, USA.                                      
   Thanks to Deborah L. Soricelli, CIGNA, USA.                          
                                                                        
Change 27.173  Misspelled variables cause confusion, but cannot simply  
VMACDB2        be replaced by the correct spelling, as other programs in
Aug  5, 2009   MXG and in user programs may use the incorrect spelling, 
               so these new (correctly spelled) variables are created:  
                QBGLWM  QXXCBPNX  QXXCSKIP QXCRINX                      
               with the same contents and labels as the incorrect ones: 
                QBGLMW  QZZCBPNX  QZZCSKIP QXCRINDX                     
   Thanks to Tony Curry, BMC, USA.                                      
                                                                        
Change 27.172  Most tests for IF xxxxxxxx NE 0 THEN were revised to test
ANALDB2R       IF xxxxxxxx GT 0 THEN because missing-value variables are
Jul 29, 2009   true with NE 0 but in most cases that is not wanted. Each
               test must be examined to see if xxxxxxxx can be missing, 
               and to confirm that the true value wanted was only GT 0. 
               This prevented divide-by-zero error messages.            
                                                                        
Change 27.171  MXGTMNT records INPUT is now protected if the same SMF   
VMACTMNT       record number is also used by another product's record,  
Jul 28, 2009   by verifying that TMNTSYS='TMNT'; when duplicate use of  
               the TMNT record ID is detected, two instances are now    
               printed on the log with a hex dump so you can identify   
               the other product "sharing" the TMNT record ID.          
   Thanks to Linda Pitcher, Progressive, USA.                           
                                                                        
Change 27.170  MXG QA Test Stream step TESTREAL was revised to validate 
CLEARDB2       both the existence of datasets and expected observations 
TESTREAL       with the known SMF input file of DB2 data.  READDB2 is   
Jul 25, 2009   re-executed multiple times, so resetting of all of the   
               old-style macros for DB2 is required prior to each; the  
               static reset was stored in new member CLEARDB2 for reuse.
                                                                        
Change 27.169  MXG 27.04-27.06.  READDB2 did not output to any T102Snnn.
READDB2        The error was introduced in MXG 27.04, and while READDB2 
Jul 25, 2009   is tested in the QA stream, the tests were for existence,
               and did not verify actual observations were created.     
   Thanks to Alex Macfarlane, BNY Mellon, USA.                          
                                                                        
Change 27.168 -MXG 27.05-27.06.  Change 27.108 accidentally deleted the 
TYPETMS5       _KTMSTMS token that should have been after line 188; the 
Jul 24, 2009   token is used by ITRM to add variables for TMS.          
   Thanks to Rob D'Andrea, CIS, ENGLAND.                                
                                                                        
====== Changes thru 27.167 were in MXG 27.06 dated Jul 20, 2009======== 
                                                                        
Change 27.167  Minor. %READDB2... did not honor OPTIONS OBS=5000 because
READDB2        a RUN; statement was required to separate the execution  
Jul 21, 2009   of the DATA step from subsequent %VGETOBS existence tests
VMXGOPTR       (for IFCIDs 105/107).  In %VGETOBS execution, the first  
Jul 22, 2009   %VMXGOPTR with "OPTION=OBS,NEWVALUE=MAX", (needed so the 
               PROC SQL can function even if the user has set the option
               OBS), was being executed before the DATA step that reads 
               the SMF data.  The RUN; in READDB2 cured its problem, but
               a more generic solution was to insert a RUN; statement at
               the top of VMXGOPTR to protect it for all calls.         
                                                                        
Change 27.166  CA-VIEW SARSRQUX exit SMF record was completely changed. 
VMACSARX       The new layout of the fixed portion is now supported, but
Jul 21, 2009   the Fixed JCL Attribute segment does not exist in my two 
Oct  4, 2009   test records, and the Variable JCL Attribute segment is  
               not populated, so those segments are not yet INPUT, which
               causes many, but harmless, UNINITIALIZED VARIABLE notes  
               on the log.  Oct 4: UNINIT messages removed.             
               Thanks to Bob DeBartolo, Conseco, USA.                   
                                                                        
====== Changes thru 27.165 were in MXG 27.06 dated Jul 20, 2009======== 
                                                                        
Change 27.165 -VMXGSUM now dies gracefully with an MXGERROR message when
ANALACTM       the input dataset does not exist; before, it still died, 
ANALCNCR       but the cause of death was unknown to the user.  This can
ANALINIT       happen if you include an ASUMxxxx or TRNDxxxx but you had
BLDNTPDB       not created the expected input datasets.  VMXGSUM works  
UTILCONT       fine if the dataset exists and has zero observations.    
UTILVREF      -ANALCNCR modified to fail before calling VMXGSUM if the  
UTILXRF1       input dataset does not exist.                            
VGETDDS       -VGETOBS was revised to protect when OPTIONS OBS=0 is in  
VGETDSN        effect; the PROC SQL used to determine if the dataset has
VGETENG        observations did not execute, so VGETOBS falsely reported
VGETOBS        the tested dataset did not exist, when in fact it did.   
VMXGENG        Calls to VMXGOPTR were inserted to store the current OBS 
VMXGOPTR       option in effect, set OBS=MAX for the PROC SQL, and then 
VMXGSIZE       restore the original option with a second VMXGOPTR call. 
VMXGSUM        But this instance of this exposure caused examination of 
VMXGUOW        all MXG code that uses PROC SQL, so these members have   
Jul 17, 2009   also been protected to execute properly with OBS=0 set:  
ASUMCACH         ASUMCACH BLDNTPDB UTILCONT UTILVREF UTILXRF1 VGETDDS   
                 VGETDSN  VGETENG  VMXGENG  VMXGSIZE VMXGUOW            
               Setting OPTIONS OBS=0; is a quick way to test SAS code   
               for any SAS syntax errors, and as all datasets are also  
               created, subsequent references to datasets or variables  
               are validated, but no records are read and no disk space 
               is used since all datasets have zero observations.       
               An alternative technique is to use a DUMMY input file.   
              -VMXGUOW %VMXGOPTR calls balanced for default NOOBS zero. 
              -VMXGOPTR modified to UPCASE the parameters.              
              -ANALINIT protected with NODSNFERR/NOVNFERR, and is now   
               a self-executing %MACRO.                                 
              -ANALACTM.  Some headings ran together & the response time
               goals went into exponential notation.  ANALACTM gives you
               a visual picture of your WLM definitions.                
              -Aug 12, 2009:  VGETOBS defined a new argument, NOEXIMSG. 
                                                                        
                                                                        
Change 27.164  NOTE: NUMERIC VARIABLE CONVERTED TO CHARACTER in TIMEBILD
TIMEBILD       happens to be harmless, but because it raised questions  
Jul 15, 2009   (Why?  Impact?), it is now eliminated.  The culprit was  
               the CALL SYMPUT("MXGTIMES",SYS); where SYS was a numeric 
               count, and %MACRO variables must be character.  Inserting
               SYST=PUT(SYS,2.); to create character variable SYST, and 
               using SYST in place of SYS eliminated the message.       
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.163  Eight BVIR variables are converted to bytes and FORMATed 
VMACBVIR       MGBYTES, and *KB in their label is replaced by BYTES to  
Jul 15, 2009   be consistent with the other byte-containing variables:  
                  P0CHRD  ='HBA*PORT 0*CHAN*READ*BYTES'                 
                  P0CHWR  ='HBA*PORT 0*CHAN*WRITE*BYTES'                
                  P0VDRD  ='HBA*PORT 0*VDEV*READ*BYTES'                 
                  P0VDWR  ='HBA*PORT 0*VDEV*WRITE*BYTES'                
                  P1CHRD  ='HBA*PORT 1*CHAN*READ*BYTES'                 
                  P1CHWR  ='HBA*PORT 1*CHAN*WRITE*BYTES'                
                  P1VDRD  ='HBA*PORT 1*VDEV*READ*BYTES'                 
                  P1VDWR  ='HBA*PORT 1*VDEV*WRITE*BYTES'                
   Thanks to Perry Lim, Union Bank, USA.                                
                                                                        
Change 27.162  Support for BMC APPTUNE SQL IFCIDS=8004x-8136x as SMF 102
EX102S04       records create these eleven new datasets:                
EX102S05                                                                
EX102S07         DDDDDD    DATASET      DESCRIPTION/IFCID               
EX102S08         102S04    T1028004  102S04: BMC SQL APPTUNE 8004       
EX102S09         102S05    T1028005  102S05: BMC SQL APPTUNE 8005       
EX102S0A         102S07    T1028007  102S07: BMC SQL APPTUNE 8007       
EX102S0B         102S08    T1028008  102S08: BMC SQL APPTUNE 8008       
EX102S33         102S09    T1028009  102S09: BMC SQL APPTUNE 8009       
EX102S34         102S0A    T102800A  102S0A: BMC SQL APPTUNE 800A       
EX102S35         102S0B    T102800B  102S0B: BMC SQL APPTUNE 800B       
EX102S36         102S33    T1028133  102S33: BMC SQL APPTUNE 8133       
IMAC102          102S34    T1028134  102S34: BMC SQL APPTUNE 8134       
READDB2          102S35    T1028135  102S35: BMC SQL APPTUNE 8135       
VMAC102          102S36    T1028136  102S36: BMC SQL APPTUNE 8136       
VMACDB2H                                                                
VMXGINIT         102BMC    Creates all of the above                     
Jul 15, 2009                                                            
               All eleven BMC T1028xxx datasets are created together,   
               with a single macro token dddddd=102BMC.  Separate       
               dddddd tokens for each IFCID/dataset are not defined, as 
               I decided you'd want all eleven or none.  You can create 
               only those eleven BMC T1028xxx datasets using %READDB2   
                  %READDB2(IFCIDS=BMC);                                 
               Or, if you create all possible T102 datasets using either
               %INCLUDE SOURCLIB(TYPE102); or %READDB2(IFCIDS=ALL);, all
               350 IBM T102Snnn and the 11 BMC datasets will be created.
              -While many of the fields are from standard IBM DB2 DSECTS
               QWAC, QBAC, QTXA, QXST, and QWAX, all variable names in  
               the BMC T1028nnn datasets start with QBMCxxxx, so there  
               is no collision/conflict with the existing MXG names.    
              -Note that variables QBMCEJST and QBMCESC are different   
               from the IBM QWACEJST/QWACESC fields; BMC stores the     
               accumulated total measured time for the statement rather 
               than the end time for one execution in both.             
                                                                        
Change 27.161  Incorrect QXPK values in DB2ACCTP, DB2 V9 only, only if  
VMACDB2        NRQPAC GT 1, only in 2nd and subsequent obs per record.  
Jul 13, 2009   The DB2ACCTP Package obs contain either both QBAC & QXPK 
               segments (when Class 10 is enabled) or neither (if not); 
               if on, there is one QBAC and one QXPK segment per QPAC,  
               MXG outputs the first set in the first obs, the second   
               set in the second obs, etc.  However, DB2 V9 IFCID=239   
               (ID=101,Subtype=1) records with more than one NRQPAC had 
               incorrect QXPK variable's values in 2nd-plus obs, due to 
               MXG incorrect logic test for =0 instead of LE 0 (and a   
               typo) in its handling of the new DB2 V9 lengths:         
                  In DB2, IBM stores a zero in the length field in the  
                  "triplet", and the triplet's offset now points to the 
                  two-byte location with the actual field length, at the
                  start of that segment's data.  But only sometimes!    
                                                                        
Change 27.160  Var EVENTIME was inadvertently DROPed from PDB.ASUMTAPE  
ASUMTAPE       by Change 26.038 (MXG 26.03), but was expected in ITRM.  
Jul 10, 2009   It is now kept again with the beginning datetimestamp of 
               the mount event.                                         
   Thanks to Don Bernard, North Carolina State Government, USA.         
                                                                        
Change 27.159  The test for OSI to input SMF62MGT/SMF62STR/SMF62DAT     
VMAC62         unintentionally prevented OPENTIME and ACBMACR1-ACBMACR4 
Jul  9, 2009   from being input.  The OSI test is no longer needed as   
               space for all three fields are always present, so it was 
               removed.  And because the MGT/STR/DAT can contain '00'x, 
               those values were translated to blanks.                  
   Thanks to Sam Bass, McLane Co., USA.                                 
                                                                        
Change 27.158  This change is in progress, requiring many updates before
VMACDB2        it is fully implemented.  Progress is documented below.  
VMACDB2H       If DB2 zparm UIFCIDS=YES is set, many DB2 character vars 
VMAC102        will contain ASCII instead of EBCDIC text.  These fields 
Jul  8, 2009   are identified as "%U" in the IBM DSECTs; technically the
               fields contain UNICODE, UTF-8, which is simple ASCII.    
               Each of these "%U" fields has its original fixed-length  
               location (that MXG continues to INPUT, but conditionally 
               INPUTs ASCII or EBCDIC), but if the text length is longer
               ("truncated" to that fixed-length), a new offset points  
               to the length and location of the "un-truncated" text,   
               which is then conditionally input with the longer length.
                                                                        
               Change 24.136 created DB2UNICD='Y' when UIFCIDS=YES, and 
               DB2UNICD was used to conditionally INPUT these variables 
                 QLACLOCN QLSTLOCN QMDALOCN QPACCOLN QPACLOCN QPACPKID  
                 QWHCAID  QWHCOAUD QWHCOPID QWHCROLE QWHCTCXT QWHSLOCN  
               (because only these fields were ASCII in test data).     
                                                                        
               However, when the below circumvention for an IBM ABEND   
               required UIFCIDS=YES to be set, these header variables   
                QWHDRQNM QWHDSVNM                                       
               were seen to be in ASCII, and VMACDB2H was updated.      
                                                                        
               There are at least 224 %U fields in DB2 V9 DSECTS that   
               need update or at least verification, and they will all  
               (EVENTUALLY!!) be updated/supported.                     
                                                                        
               As of Jul 13, these variables are now "%U" Supported:    
                                                                        
               Still to be done:                                        
               These are the only "ACCOUNT" IFCIDS that need updating:  
                 QPACASCH QPACAANM                                      
               and these are all of the SMF 102 IFCIDs that need update:
                 QW0022CI QW0022CN QW0022CR QW0022PG QW0022QO QW0022TN  
                 QW0029CI QW0029LN QW0029PI                             
                 QW0030CI QW0030LN QW0030PI                             
                 QW0031CI QW0031LN QW0031PI                             
                 QW0053LN QW0053PC QW0053PN                             
                 QW0055NI QW0055OI                                      
                 QW0058LN QW0058PC QW0058PN                             
                 QW0059CN QW0059LN QW0059PC QW0059PN                    
                 QW0060LN QW0060PC QW0060PN                             
                 QW0061CN QW0061LN QW0061PC QW0061PN                    
                 QW0064CI QW0064CN QW0064LN QW0064PN                    
                 QW0065CN QW0065LN QW0065PC QW0065PN                    
                 QW0066CN QW0066LN QW0066PC QW0066PN                    
                 QW0083SA                                               
                 QW0087SA                                               
                 QW0096PC QW0096PN                                      
                 QW0108NC QW0108NI QW0108NL QW0108OH QW0108OW QW0108QL  
                 QW0110PC QW0110PI QW0110PL                             
                 QW0112OH                                               
                 QW0113OH                                               
                 QW01247S QW0124CI QW0124LN QW0124PN QW0124SP           
                 QW0125PC QW0125PN                                      
                 QW0140SC QW0140SN QW0140TC QW0140TN QW0140UR           
                 QW0141OR                                               
                 QW0142CR QW0142OW QW0142TN                             
                 QW0145LN QW0145PC QW0145PN                             
                 QW01488L QW01489L QW0148CI QW0148LN QW0148PN QW0148SP  
                 QW0157LN QW0157PN                                      
                 QW0158PN                                               
                 QW0159LN                                               
                 QW0162LN                                               
                 QW0169AL QW0169AU QW0169LO QW0169NE                    
                 QW0173CN*QW0173ID*QW0173PC QW0173PK                    
                 QW0177CO QW0177LO QW0177OH QW0177PI                    
                 QW0183CO QW0183LN QW0183PN                             
                 QW0185CN QW0185CR QW0185TB                             
                 QW0191LN                                               
                 QW0192LN [192cs 192ec]                                 
                 QW0193LN                                               
                 QW0194LN                                               
                 QW0195LN                                               
                   [195hb]                                              
                 QW0203CO QW0203LO QW0203PA                             
                 QW0204LO                                               
                 QW0205LO                                               
                 QW0206LO                                               
                 QW0207HN QW0207TN QW0207UN                             
                 QW0208LO                                               
                 QW0209LO                                               
                 QW0210LO                                               
                 QW0221LN                                               
                 QW0221PC QW0221PN                                      
                 QW0222LN QW0222PC QW0222PN                             
                 QW0224CI QW0224PN                                      
                 QW0233LN QW0233PC QW0233PN QW0233PR QW0233SC           
                 QW0235LO                                               
                 QW0236LO                                               
                 QW0247LN QW0247PC QW0247PN                             
                 QW0248LN QW0248PC QW0248PN                             
                 QW0269PR QW0269RA QW0269RC QW0269RU QW0269SA QW0269TC  
                 QW0272LN QW0272LP QW0272PC QW0272PG QW0272PN QW0272QN  
                 QW0273CN QW0273LN QW0273LP QW0273PC QW0273PG QW0273PN  
                 QW0305CN                                               
                 QW0311CN QW0311LN QW0311PC QW0311PN QW0311QN QW0311TN  
                 QW0313AI                                               
                 QW03141N QW03142N QW0314BN QW0314LN QW0314MN QW0314NN  
                 QW0316QD QW0316SC QW0316T1 QW0316T3 QW0316TD QW0316X4  
                 QW0324CI QW0324CV QW0324FI QW0324FN QW0324FS QW0324NV  
                 QW0325CO QW0325NM QW0325PR QW0325SC QW0325TX           
                 QW0334LN                                               
                 QW0341LN QW0341PC QW0341PN                             
                 QW0343ID QW0343PC QW0343PK QW0343PL                    
                 QW148SCH                                               
                 QWP1RLFA                                               
                 QWP4ADM2 QWP4DFID QWP4OPR1 QWP4OPR2 QWP4OZUS QWP4REGA  
                                                                        
               An ABEND 0C4 in DB4PMSTR (takes down DB2 Subsystem) can  
               occur if zparm UIFCIDS is set to "NO", and IFCIDs 316,317
               are written.  IBM suggested PTF UX37196, but that is PE. 
               Setting zparm UIFCIDS to "YES" bypassed the conversion.  
               ERROR DESCRIPTION:                                       
                Rapid stack storage increase about 200M per day was     
                observed by customer.  This occurs when IFCID 316, 317  
                were in effect and the zparm UIFCIDS was set to no.  The
                stack storage was used for conversion from UNICODE to   
                EBCDIC.                                                 
                 LOCAL FIX:                                             
                 Set zparm UIFCIDS to yes to bypass conversion or turn  
                 off IFCID 316 and 317.                                 
   Thanks to Barry Pieper, Blue Cross of Minnesota, USA.                
                                                                        
Change 27.157  SMF 116 variables WQGETJCE/WQPUTJCE/WQPUT1JE/WQSET1JE in 
VMAC116        the MQMQUEUE dataset were not divided by 4096, so their  
Jul  7, 2009   values were incorrectly large without that divide.       
               Version 7.0 SMF 116 records have been read without error;
               there are no new fields in the SMF 116 (nor 115) records.
               in Version 7.0, so the MXG support was already in place. 
   Thanks to Frank Debree, Dexia, BELGIUM.                              
                                                                        
Change 27.156  Support for z/VM 6.1.0 is already in place in MXG 27.01+,
TYPEVMXA       as there were no changes to the MONWRITE data records,   
Jul  7, 2009   except for the new version number.                       
                                                                        
Change 27.155 -Type 42 Subtype 16 RLS Record INPUT STATEMENT EXCEEDED   
VGETUTKN       because the two length tests LEN42D2 and LEN42D4 should  
VMAC42         have been 1652 instead of 1504.                          
Jul  6, 2009  -Type 42 Subtype 21 and 24 with invalid ICHRUTKN segment  
Jul  8, 2009   had all of UTKNxxxx variables wrong or truncated.  This  
Jul 13, 2009   change detects the mis-located segment (starts in 187 vs 
               185) and correctly populates the UTKNxxxx variables,     
               except that the last variable in the record, UTKNGRUP,   
               is only 6-bytes long when the segment in invalid.        
              -IBM APAR OA27563 corrects the errors; search NEWSLTRS for
               the details.                                             
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.154  USS dataset TYPE9201 variable SMF92PPN (pathname to the  
VMAC92         filesystem) was not input because SMF92PPL, its length   
Jul  6, 2009   field was INPUT from the wrong offset in line 640,       
               which now contains                                       
                 If SMF92MPF GT 0 THEN INPUT @SMF92MPF+1                
   Thanks to Dan Squillace, SAS Institute Cary, USA.                    
                                                                        
Change 27.153  Dataset TYP11921 variable NTBTRNBE should have been INPUT
VMAC119        as &PIB.4. instead of &PIB.4.3 since it is a count and is
Jul  5, 2009   note a duration.                                         
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.152  MXG 27.01-MXG 27.05. DCOLLECT variable UBALLSP is missing
VMACDCOL       always; its INPUT statement was lost when Change 27.034  
Jul  2, 2009   updates were made.                                       
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.                 
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.                    
   Thanks to Isabelle Diagremont, FIDUCIA IT AG, GERMANY.               
                                                                        
Change 27.151  XAM TCP record caused INPUT EXCEEDED RECORD LENGTH ERROR.
VMACXAM        A TCPAPP segment with only Segment Name and SEGLEN=8 with
Jul  2, 2009   no data can be created for internal XAM purposes.  Only  
               the TCPAPP segment can have these "null segments", so the
               SEGLEN is now tested after the header is INPUT, and the  
               segment is NOT output if there is no data.               
   Thanks to Chris Morgan, CitiCorp, ENGLAND.                           
                                                                        
Change 27.150 -MXG 27.05. COPYONLY option of READDB2 didn't work for the
READDB2        ID=102 IFCIDs selection.                                 
Jul  2, 2009                                                            
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.  
                                                                        
Change 27.149  Labels for Counts of ZIP, IFA, CPs, etc are clarified:   
VMAC7072       In  ASUM70PR ASUM70LP TYPE70PR - PER SYSTEM-CEC DATASETs 
Jul  1, 2009   and ASUMCEC  ASUMCELP          - PER CEC DATASETS:       
                 NRICFCPU='ICF CPUS*AVAILABLE*IN THIS CEC'              
                 NRIFACPU='IFA CPUS*AVAILABLE*IN THIS CEC'              
                 NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'              
                 NRZIPCPU='ZIIP CPUS*AVAILABLE*IN THIS CEC'             
               because RMF can see everything in the CEC in the 70PR SMF
               data.                                                    
               But the TYPE70 and RMFINTRV DATASETS - PER SYSTEM DATA:  
                 NRIFAS  ='IFA CPUS*AVAIL TO*THIS ZOS'                  
                 NRZIPCPU='ZIIP CPUS*AVAIL TO*THIS ZOS'                 
                 NRIFACPU='IFA CPUS*AVAIL TO*THIS ZOS'                  
                 NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'              
                 NRCPUS  ='AVERAGE*ONLINE*NON-PARKED*CP ENGINES'        
               are not the "hardware" counts, but only the count of the 
               engines that this z/OS system can use and knows about.   
   Thanks to Scott Wigg, USBank, USA.                                   
                                                                        
Change 27.148  Support for APAR OA29428 adds diagnostic bits that create
VMAC1415       these new MXG variables and labels:                      
Jun 30, 2009      SMF14TCL='TASK*TERMINATION*CLOSED*THE DCB?'           
                  SMF14ABD='TASK IS*TERMINATIONG*TCBFA*IS ON?'          
               MXG Variables whose label ends with a question mark are  
               one byte character variables whose value will be 'Y' if  
               true, and should be blank if not true (although some old 
               variables might contain 'N' for false).                  
               The APAR text states:                                    
                  For debugging purposes, customers need to know if a   
                  dataset has either been closed by a program or RTM    
                  cleanup processing.  The SMF records (types 14 or 15) 
                  do not currently provide a way to identify this       
                  information.  The addition of flag(s) are required to 
                  indicate normal versus abnormal CLOSE. One methodology
                  that can add this information is to add a bit to      
                  indicate that task termination closed the dcb and add 
                  a second bit to indicate whether or not the task is   
                  abending.                                             
                                                                        
Change 27.147 -MXG ANALZPCR didn't expand variable SCP to 10 bytes so   
ANALZPCR       z/OS 1.10 was not correctly set in the external study    
Jun 30, 2009   file.                                                    
              -MXG incorrectly set SCP from MVSLEVEL to be the same as  
               the MVSLEVEL of the TYPE70 that wrote the record, instead
               instead of using the SMF70STN from each LPAR to define   
               that system's SCP.  Now, TYPE70 is read to create the new
               $TEMPSTN format, mapping SYSTEM to MVSLEVEL, and then    
               SMF70STN value in TYPE70PR is looked up to set MVSLEVEL. 
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.146  These OMCI datasets built by TYPE112                     
VMAC112          T112ADA  T112ADAT T112DLI  T112DLIT T112IDMT T112IDMS  
Jun 30, 2009     T112VSAM T112VSAT T112SUPR T112SUPT T112DTCO T112DTCT  
               did not keep variables OMCIJOB OMGAPPL OMSAPPL.          
   Thanks to Richard Schwartz, State Street Bank, USA.                  
                                                                        
====== Changes thru 27.145 were in MXG 27.05 dated JUN 29, 2009======== 
                                                                        
Change 27.145  Support for TMON for MQ record "QA" (APPLICATION STATS)  
EXTMQQA        creates two new datasets, TMMQQA and TMMQQAA.  All of the
EXTMQQAA       QAxxxxx variables with TIME12.2 format are guesses as to 
IMACTMMQ       their internal format, and TMON reports for validation   
VMACTMMQ       weren't available when MXG 27.05 was ready; please check 
VMXGINIT       with support@mxg.com for any updates prior to using those
Jun 26, 2009   variables in these two new datasets.                     
Jul  1, 2009   Jul 1: QA record's 32 Latch Class times/counts created.  
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.144  New documentation member ADOCRMFR tabulates the name of  
ADOCRMFR       each MXG variable that is printed in IBM RMF reports.    
Jun 26, 2009                                                            
   Thanks to George Canning, Produban, ENGLAND.                         
                                                                        
Change 27.143  Variable REDIRECT in PRPR1010 dataset contains text, in  
VMACPRPR       spite of the documentation that it is a numeric field.   
Jun 26, 2009   Previous test data had blanks.  Now INFORMAT $16.        
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.          
                                                                        
Change 27.142  Using the %VMXGPRAL utility to print SUSE datasets caused
VMXGPRNT       errors because of the long-length-variable-names in SUSE,
Jun 26, 2009   and the need for LRECL=255 on the temporary FILENAME.    
   Thanks to James J. Flanagan, ISO, USA.                               
                                                                        
Change 27.141  Variables R792FLG and R792FLG2 are now kept in TYPE792.  
VMAC79                                                                  
Jun 25, 2009                                                            
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
Change 27.140  Change 27.062 incorrectly input S42DSRDD/S42DSRDT as &RB 
VMAC42         but the fields are &PIB format.                          
Jun 25, 2009                                                            
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.          
                                                                        
Change 27.139  Line 1024 should be  BO  SCANLOOP  Y. TRY ANOTHER VOLUME 
ASMVTOC        instead of BZ. This caused no volumes to be returned when
Jun 22, 2009   SELECT vol1 vol2 .. was used.                            
   Thanks to Paul Gillis, Pacific Systems Management Pty Ltd, AUSTRALIA.
                                                                        
Change 27.138 -z/OS 1.10 SMF 85 OAM record INPUT EXCEEDED RECORD ERROR. 
VMAC85         MXG Version/Release/ModLevel variable R85PRVM='1*0' was  
Jun 18, 2009   created as it didn't expect a 2-digit Release Number.    
Jul 17, 2009   Fortunately, R85PRVM is not kept so it was expanded to   
               now supports 2 digit Version so '1100' is GT '1 30'.     
              -TYPE85AC dataset. New variables                          
                R85STY='RECORD SUBTYPE'.                                
                R85STOK ='OSREQ*STOKEN'                                 
                R85RC2  ='OSREQ*RETURN*CODE*TWO'                        
              -Subtypes 8 thru 10 now are also output to TYPE85AC.      
              -But the R85PRVM value is not consistent.  These values   
               are found in my past test data files:                    
                 1999  1. 4.0                                           
                 2003  1. 3.0                                           
                 2003  2.10.0                                           
                 2007  1. 8.0                                           
                 2009  1.10.0                                           
              -Jul 17: New variables added to TYPE85ST dataset:         
                 R85PUDK ='BYTES*DELETED*TAPE*SUBLEVEL 2*/              
                 R85PUDO ='PRIMARY*OBJECTS*DELETED*TAPE*SUBLEVEL 2'     
                 R85PURK ='BYTES*READ*TAPE*SUBLEVEL 2'                  
                 R85PURO ='PRIMARY*OBJECTS*READ*TAPE*SUBLEVEL 2'        
                 R85PUWK ='BYTES*WRITTEN*TAPE*SUBLEVEL 2'               
                 R85PUWO ='PRIMARY*OBJECTS*WRITTEN*TAPE*SUBLEVEL 2'     
              -Corrections to handling of subtype 78,79,and 88 for      
               test data from versions 1100, 1 30, and 1 40.            
   Thanks to Joachim Sarkoschitz, DATEV eG, GERMANY.                    
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.                       
                                                                        
Change 27.137  Analysis of interval zIIP usage by JOB/PROGRAM/etc using 
ANALZIPU       PDB.SMFINTRV.  You define the ZIPGROUP variable to group 
Jun 18, 2009   that is then summed for each interval, and the percentage
               of total zip usage by that ZIPGROUP for that interval is 
               calculated.  The analysis does demand that your SMF 30   
               data is synchronized.                                    
   Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.         
                                                                        
Change 27.136  Unused Change.                                           
                                                                        
Change 27.135  The (VERY OLD) ANALRMFI example's selection criteria had 
ANALRMFI       test for a series of variables ANDed to be GE 0, but some
Jun 17, 2009   of the variables are, now, always missing (logical swaps)
               causing nothing to be selected.  The WHERE clause tests  
               now are ORed, and always-missing variables were removed. 
               However, like all ANALxxxx report examples, this is only 
               an example, as a starting report to be tailored into your
               very own report, if the report is of interest.           
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.          
                                                                        
Change 27.134  Further support for IBM i, i5/OS, iSeries, or AS400 V6R1 
EXQAPHDW       (to include all old and new names of these products).    
IMACQACS       New dataset created:                                     
VMACQACS      -QAPMHDWR  Hardware Configuration                         
VMXGINIT       Existing datasets updated:                               
Jun 17, 2009  -QAPMBUS - BUIOPB increased from 2 to 3 bytes.            
Jun 18, 2009  -QAPMJOBM- New variables added:                           
                  JBJTHDT ='JVM*THREAD*TYPE'                            
                  JBJVMF  ='JVM*STARTED'                                
                  JBJVMT  ='JVM*TYPE'                                   
                  JBMDYR  ='FILE*SYSTEM*DIRECTORY*READS'                
                  JBMLCH  ='FILE*SYSTEM*LOOKUP*CACHE HITS'              
                  JBMLCM  ='FILE*SYSTEM*LOOKUP*CACHE MISSES'            
                  JBMNDC  ='FILE*SYSTEM*NON-DIR*CREATE*OPS'             
                  JBMNDD  ='FILE*SYSTEM*NON-DIR*DELETE*OPS'             
                  JBMOPN  ='FILE*SYSTEM*OPEN*OPERATIONS'                
                  JBMSLR  ='FILE*SYSTEM*SYMBOLIC*LINK READS'            
                  JBPASE  ='I5/OS*PASE*RUNTIME*ACTIVE'                  
                  JBPGRL  ='PAGE*FRAMES*RELEASED'                       
                  JBPGRQ  ='PAGE*FRAMES*REQUESTED'                      
                  JBSCPU  ='SCALED*CPU*MICROSECONDS'                    
                  JBSTCPU ='TOTAL*SCALED*JOB*CPU'                       
                There were also a number of fields labeled RESERVED that
                are INPUT and kept, in case they become populated.      
              -QAPMSYST  New variables added:                           
                  SYSIUL  ='USER*AUTHORIZATIONS*AVAILABLE'              
                  SYSCIU  ='USER*AUTHORIZATIONS*NEEDED'                 
   Thanks to Clayton Buck, UniGroup, USA.                               
                                                                        
Change 27.133  Variable CFBUSYTO is created in TYPE74CF as the sum of   
VMAC74         all CF engine busy time (CFBUSY01-CFBUSY16).             
Jun 16, 2009                                                            
                                                                        
Change 27.132  DB2 V8 IFCID=22 Record with truncated name fields caused 
VMAC102        INPUT STATEMENT EXCEEDED RECORD LENGTH some of the time. 
Jun 16, 2009  -MXG 27.05 was still wrong for some cases; Jul 2 revision 
Jul  2, 2009   with tested with both V8 and V9, but the V8 records do   
               not exactly agree with the V8.1 DSECTS, so counters were 
               added to ensure alignment (I hope!).                     
   Thanks to Tom Buie, Southern California Edison, USA.                 
                                                                        
Change 27.131  Enhancements to DB2PM-like STATISTICS LONG report have   
ANALDB2R       caused updates to create/correct needed DB2 variables:   
ASUMDBSS      -Variables QWHADSGN,QWHAMEMN kept in all DB2ACCTx/DB2STATx
READDB2        datasets, as they are in the header of all DB2PM reports.
TRNDDBSS      -Variables QDSTQMIT QTMAXPB QDSTQIN2 QBSTXIS QTGSPEMX     
VMAC102        QXMAXDEG QXSTXMLV QXSTLOBV                               
VMACDB2        were DIF()'d but they do not contain accumulated values. 
Jun 26, 2009  -Variables QDSTQIN2 QTPACOW1 QTPACOW2                     
               were NOT DIF()'d, now are, contain accumulated values.   
              -Variables QTGACSLM QTGALSLM QTGAUSLM QTGSCSLM QTGSLSLM   
               and QTGSUSLM are actually spelled QTG..LSM in DB2 DSECT, 
               but once named in MXG there only pain and anguish if I   
               rename a variable, and these aren't important enough to  
               have me create correctly spelled duplicate variables.    
              -T102S106 System Parameters dataset was updated with these
               new variables added for V8 and V9:                       
                  QWP1ACCU QWP1ACID QWP1CDB  QWP1IDBP QWP1IXPX QWP1IXQT 
                  QWP1LVA  QWP1LVS  QWP1LWCK QWP1MOFR QWP1RLFA QWP1SYFL 
                  QWP1SYMV QWP1TP16 QWP1TP32 QWP1TP8  QWP1TPLB QWP1TPXM 
                  QWP1TSQT QWP1WLME QWP1XVA  QWP1XVS                    
                  QWP4APS  QWP4FRLC QWP4IAST QWP4MIS6 QWP4MS4C QWP4MXAB 
                  QWP4MXDC QWP4NUPT QWP4PMGT QWP4RSDC QWP4RSMT QWP4SKLC 
                  QWP4SRTN QWP4WFAL                                     
                  QWP5DCYC QWP5DLOK QWP5FLG  QWP5HASH QWP5MCSA QWP5PHSH 
                  QWP5RLE  QWP5TVAL                                     
                  QWP9TCKA QWP9INAC                                     
                  QWPBAPSC QWPBDB2S QWPBDDRM QWPBLCTP QWPBLNM QWPBNUFN  
                  QWPBPADN QWPBUGID QWPBUMID QWPBUSID                   
              -New ASUMDBSS Statistics Summarization summarizes:        
                 Default INPUT dataset      Default OUTPUT dataset      
                  PDB.DB2STATS               PDB.ASUMDBSS               
                  PDB.DB2STATB               PDB.ASUMDBBS               
                  PDB.DB2GBPST               PDB.ASUMDBSG               
               The new ASUMDBSS eliminates the need for old ASUMDBSB as 
               only ASUMDBSS is needed to create all three stat ASUMs.  
              -New TRNDDBSS Statistics Summarization summarizes:        
                 Default INPUT dataset      Default OUTPUT dataset      
                  WEEK.ASUMDBSS              TREND.TRNDDBSS             
                  WEEK.ASUMDBBS              TREND.TRNDDBBS             
                  WEEK.ASUMDBSG              TREND.TRNDDBSG             
               The new TRNDDBSS eliminates the need for old TRNDDB2S and
               TRNDDB2X, as TRNDDBSS creates all three stat TRNDs.      
               If you are currently using TRNDDB2S or TRNDDB2X, read the
               comments in TRNDDBSS with the one-time migration example.
              -Statistics reports can be selected by DB2 subsystem      
               (QWHSSSID), local location (QWHSLOCN), BEGIN and END time
               using the DB2 DB2LOCAL BEGTIME and ENDTIME parameters.   
              -READDB2 revised with new parameter RUNASUMS, default NO. 
               Set RUNASUMS= interval desired (HOUR/DATE/WEEK/etc.) and 
               the ASUMDB2S will create the statistics summary datasets 
               in PDBOUT library.                                       
              -ANALDB2R these reports have been brought up to date with 
               DB2 Performance Expert/Performance Monitor documentation:
                PMACC01/PMACC03=Accounting short report                 
                PMSTA01/PMSTA03=Statistics long reports                 
                PMSTA02/PMSTA04=Statistics short reports                
                PMSPR01=System Parameter Report                         
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.130  These variables for dataset QAPLPAR                      
VMACQACS         LPCAP    LPAVL    LPBSY    LPRSP    LPRDS    LPWRTS    
Jun 15, 2009     LPDISK   LPMEM                                         
               were INPUT but not kept.                                 
   Thanks to David Bixler, FISERV, USA.                                 
                                                                        
Change 27.129  Support for changes to CONTROL-D TYPE C User SMF record. 
VMACCTLL       Eight LOGCODE values have existing JOBNAME RECIPIENT and 
Jun 15, 2009   REPORT variables in different locations, plus two new    
               ACTIONCT and VALUESCT variables.                         
   Thanks to Josep Miquel, La Caixa, SPAIN.                             
                                                                        
Change 27.128  Change 27.046 made major update to EDGHSKP type D,V,X but
VMACEDGR       invalid syntax of 'GT . GT . ' was not detected, causing 
Jun 12, 2009   MANY datetime variables to have missing values.          
   Thanks to Rudolf Sauer, T-Systems, GERMANY.                          
                                                                        
Change 27.127  Support for CONTROLT for "daily dataset" billing, and    
DAILYDSC       other "DAILYDSN" job enhancements:                       
DAILYDSN      -New DAILYDSC created for CONTROLT.                       
DAILYDSR      -DAILYDSR modified to handle SPACE6 DAYS6 (bytes on       
IMACVTS        virtual and days)                                        
JCLDAYDS      -DAILYDSN modified to handle SPACE6 DAYS6 and to use the  
Jun 11, 2009   same constructs as DAILYDSC overriding the _L for the    
               output TMS datasets to send them to the DATASETS LIB.    
              -IMACVTS used by all of the above to set a variable       
               VIRTREAL to REAL or VIRT.  Comments on usage in member.  
               Default is REAL.                                         
              -JCLDAYDS modified to add a CTLT step                     
   Thanks to Chuck Hopf, Independent Consultant, USA.                   
                                                                        
Change 27.126  zVM Velocity Software variable SYTLPNAM/LCPUNAME is no   
VMACXAM        longer kept in dataset XAMSYU, which has an observation  
Jun 11, 2009   with the LPAR management time for each hardware Engine,  
               and is not a per-LPAR dataset.  MXG had incorrectly kept 
               SYTLPNAM from the last SYTCUP segment.                   
   Thanks to Douglas C. Walter, Citigroup, USA.                         
                                                                        
Change 27.125 -DB2 V8 Only, DB2STATS variables QISESKCT, QISESKPT were  
VMACDB2        zero in SMF 100 subtype 1 records with LENQISE=148 bytes.
Jun 10, 2009   The QISE V8 DSECT was 96 bytes, ending at QISECFRE. In V9
               QISE increased to 148 bytes.  MXG tested length to input 
               new fields, so when a DB2 V8 record LEN=148 was read, the
               new fields were input. However, in V9 IBM relocated the  
               two SKCT/SKPT fields into the first 8 bytes of the new   
               data, but this V8 record has zeros there, and the two    
               original field locations contain the number of SKCT and  
               SKPT pages.  The MXG Logic continues to read new fields  
                 QISEKFAL QISEKPGE QISEKFRE QISECTA QISEKTA             
                 QISESFAL QISESPGE QISESFRE QISEKNFM QISEKNFA           
                 QISEKNFR                                               
               with LEN=148 records, but no longer replaces the already 
               QISESKCT or QISESKPT values if the record is from V8.    
              -The MERGE of TEMPSTAT (ST0+ST1) and DB2STAT4/T102S225    
               now outputs PDB.DB2STATS if TEMPSTAT obs exist; Change   
               27.097 incorrectly also output unmatched 225s, including 
               the initial IFCID=225 for each subsystem, which has no   
               no matching ST0+ST1 observation.  If only 225's exist,   
               then PDB.DB2STATS will have no observations, but the 225s
               data will still be found in DB2STAT4 and T102S225.       
              -Change 27.097 incorrectly kept QWHSSTCK in PDB.DB2STATS; 
               BEGTIME ENDTIME are the datetime variables.              
   Thanks to John Shuck, SunTrust, USA.                                 
   Thanks to Chuck Hopf, Independent Consultant, USA                    
                                                                        
Change 27.124  "WARNING: Apparent invocation of macro TRIM not resolved"
VMXGOPTR       is serious, but ONLY happens if your //SASAUTOS does not 
Jun  9, 2009   include the SAS-supplied AUTOCALL library, or if your    
               CONFIGVx in use doesn't have this required statement     
                  OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);     
               because %TRIM() is delivered by SAS as a %MACRO in their 
               AUTOCALL library.  Previously, only a few ANALxxxx used  
               %TRIM(), but in MXG 27.04, it was added to %VMXGOPTR by  
               Change 27.092, and %VMXGOPTR is used throughout MXG, so  
               several sites with defective SASAUTO allocations failed  
               when they installed MXG 27.04 (but they would have failed
               earlier if they had used any of those ANALxxxx's!).  But 
               with closer examination, we have eliminated the need for 
               the %TRIM() use in %VMXGOPTR, as the string is already   
               aligned, so I've removed the recently-added %TRIM() from 
               VMXGOPTR in this change.                                 
               Note: Change 27.278 also documents that %TRIM macro will 
               not be found if you have chanced MXG's S2=0 option to any
               other non-zero value.                                    
                                                                        
Change 27.123 -ASUMCEC dataset with an IFL still had missing values in  
VMXG70PR       CPCFNAME CPCMSU NRPHYCPS PARTNCPU PCTCPUBY PCTOVHD PCTPOV
Jun  7, 2009   variables, and wrong values in these variables:          
Jun  9, 2009     IFACPUS  IFAUPTM  ZIPCPUS  ZIPUPTM                     
               even after Change 27.102 claimed to correct that error.  
               The problem only occurs if you have an IFL LPARs that is 
               also the highest numbered LPARNUM.                       
               Change 27.076 added the support for IFL LPARs to ASUM70PR
               output datasets; new observations are created for each   
               IFL LPARNAME in the two LPAR-specific datasets ASUM70LP  
               and ASUMCELP, but these new obs only populate only these 
               IFL resource variables                                   
                 IFLACTTM IFLCPUS IFLUPTM IFLWSTTM PCTIFLBY             
               populated. All of the resource variables for the other   
               engine types (CP,ICF,ZIP,IFA) will have missing values in
               the IFL observations.  Those missing values were then    
               inadvertently propagated into the CEC-interval ASUMCEC   
               dataset.  Several data step's sort order and logic were  
               revised to correct the error.                            
   Thanks to Clayton Buck, UniGroup, USA.                               
                                                                        
Change 27.122 -Support for APAR OA26832 (increased Service Units field  
VMAC30         from 4 to 8 bytes), is needed now, thanks to IBM, because
Jun  7, 2009   z/OS SYSTEMS NEVER FAIL: we now have long-running-tasks  
Text revised   where long is measured in months, and whose 4-byte fields
Jun 30, 2009   can fill and wrap, truncating those service unit values. 
               But Service Units are NOT used to calculate any normal   
               MXG CPU Time variables in TYPE30 data; those CPU times   
               are read directly from the SMF 30 record, except for the 
               MXG-only variable SRVTCBTM, the TCB CPU time calculated  
               from CPUUNITS, added so CPUTCBTM and SRVTCBTM could be   
               compared to see if using Service-Unit-Based CPU time had 
               more resolution than the recorded CPU time.  Except for  
               wrapping, I saw VERY little difference between the       
               CPUTCBTM and the SRVTCBTM when SRVTCBTM was added in MXG.
              -Variable SMF30INV has bits for each of the six fields set
               if the 4-byte service unit field had wrapped.            
              -These IBM named fields are cited in the APAR:            
                 SMF30SRV SMF30CSU SMF30SRB SMF30IO SMF30MSO SMF30ESU   
               and their corresponding MXG variables are these:         
                 SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU   
               in all of the TYPE30 datasets.                           
                                                                        
Change 27.121  In Change 27.078 I caused assembly errors                
ASMIMSL6        ASMA034E Operand WTOAREA beyond active USING by 61 bytes
Jun  6, 2009   when I added messages for the new log record, proving I  
               am NOT an ASM programmer; shortening the message text did
               circumvent the error, but this correction has been made  
               by "asmguy@mxg.com" who speaks that language for me.     
   Thanks to Mark Van Der Eynden, HP, AUSTRALIA.                        
                                                                        
Change 27.120  Support for RMF III z/OS 1.10 new ASI fields (INCOMPAT). 
VMACRMFV       These variables are now INPUT/KEPT, but as they were     
Jun  5, 2009   inserted (rather than appended) to the ASI record, other 
               ASI variables will be trashed without this change.       
                 ASILVNMO='PRIVATE*MEMOBJ*ALLOCATED'                    
                 ASIHVCOM='64-BIT*COMMON*MEMOBJ*ALLOCATED'              
                 ASILVSHR='SHARED*MEMOBJ*ALLOCATED'                     
                 ASILVABY='PRIVATE*MEMOBJ*BYTES*ALLOCATED'              
                 ASIHVCBY='COMMON*STORAGE*BYTES*ALLOCATED'              
                 ASILVSBY='SHARED*MEMOBJ*BYTES*ALLOCATED'               
                 ASIHVVBY='HWM*64-BIT*COMMON*BYTES*ALLOCATED'           
                 ASILVMEM='ADDRESS*SPACE*LIMIT*IN MB'                   
   Thanks to Rodger Foreman, Acxiom, USA.                               
                                                                        
Change 27.119  Documentation. A BUILDPDB SPIN library created on z/OS   
BUILDPDB       can be PROC CIMPORT copied to an ASCII system, but you   
SPIN           then must sort SPIN datasets (to change the z/OS EBCDIC  
Jun  4, 2009   sort order to match the ASCII sort order) before you can 
               use that SPIN library with BUILDPDB.                     
                The required SORT statements are:                       
                  PROC SORT DATA=SPIN.SPIN30_1;                         
                   BY READTIME JOB JESNR JINTIME;                       
                  PROC SORT DATA=SPIN.SPIN30_4;                         
                   BY READTIME JOB JESNR TERMTIME;                      
                  PROC SORT DATA=SPIN.SPIN30_5;                         
                   BY READTIME JOB JESNR DESCENDING JTRMTIME;           
                  PROC SORT DATA=SPIN.SPIN26;                           
                   BY READTIME JOB JESNR JPURTIME;                      
                                                                        
Change 27.118 -Cosmetic.  DDs with DEVCLASS='00'x now have DEVICE='00X' 
VMACUCB        instead of DEVICE='OTHER'.  These values occur for SYSIN,
VMAC30         SYSOUT and other JES-owned DDs that don't have actual    
Jun  3, 2009   allocations.  Now, 'OTHER' really is "other".            
              -Dataset TYPE30_D now has DEVCLASS and DEVTYPE kept, just 
               in case you get "other" values and need to know them.    
   Thanks to Kim Westcott, New York State OFT, USA.                     
                                                                        
Change 27.117  MXG 27.03-27.04.  Change 27.071 introduced an extraneous 
TRNDDB2A       %;  in line 44 that is now removed.                      
Jun  3, 2009                                                            
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.             
                                                                        
Change 27.116  Type 14/15 records with a non-zero BLKSIZE (from JFCB, in
VMAC1415       record bytes 167-168), but with a Subtype=5 "Additional  
Jun  3, 2009   Data Set Characteristics Section" with SMF14BFG='C0'X,   
               (indicates that the SMF14LBS blocksize field is valid),  
               have SMF14LBS=0, and MXG logic replaced BLKSIZE with the 
               newer SMF14LBS with SMF14BFG='1.......'B.  The MXG logic 
               is revised to use MAX(BLKSIZE,SMF14LBS) if the SMF14BFG  
               bit is on, but this seems to be an APARable IBM problem. 
               Originally, 23173 obs had BLKSIZE=0, but after the change
               there were only 1186 TYPE1415 obs with BLKSIZE=0.        
   Thanks to David Shaw, M&T Bank, USA.                                 
                                                                        
Change 27.115  Using TIMETABL to SYNC59 individual systems with a value 
VMXGTIME       in column 71 also required you to %LET MXGTIM59=YES, but 
Jun  3, 2009   that is redundant and is now removed; the value found in 
               71-72 is always used (0, blank, 1, or other minutes).    
                                                                        
====== Changes thru 27.114 were in MXG 27.04A dated Jun  2, 2009========
                                                                        
Change 27.114  MXG programs that are "TAPE-aware" test the "PDB" DD for 
ANALDB2R       its device type of tape to avoid multiple mount/rewinds, 
VMXGTAPE       but they only were tested with JCL allocation.  If the   
Jun  5, 2009   the tape "PDB" is allocated by a LIBNAME statement it may
               fail with "ERROR: NO LOGICAL ASSIGN FOR filename ddname".
               MXG's algorithm to identify a LIBNAME as a tape device   
               CLEARs the LIBNAME and re-opens it as a FILENAME; a CLEAR
               is required to change libref from a LIBNAME to FILENAME, 
               but a CLEAR unallocates the libref from the library, and 
               a subsequent reference (to read it) caused the ERROR.    
               But by moving %VGETENG to first test the "ddname" for its
               device type, if we get the device type back, then that   
               ddname was OPENed, either by a prior use, or because it  
               was allocated by a LIBNAME statement, and we're done,    
               since we have the device type.  But if %VGETENG returns  
               "UNKNOWN" for device type, then we know that library was 
               JCL-allocated and was not OPEN, so we could safely CLEAR 
               the LIBNAME and open as FILENAME open with a FILENAME and
               still get back to the LIBNAME.  But, because the LIBNAME 
               has NOT been OPENed, we really don't need to CLEAR it    
               before opening it as a FILENAME, so FILENAME ... CLEAR is
               now removed from these members.                          
                                                                        
               The CLEAR is still required to switch the other way, from
               a FILENAME to a LIBNAME, so a DD name allocation rather  
               than a LIBNAME allocation may be required.  For example, 
               this ERROR will also occur with the WEEK/MONTH builds if 
               you use the TAPETEMP option, and if you try to allocate  
               TAPETEMP with a LIBNAME statement.  There is no possible 
               circumvention, as we must, by design, issue the CLEAR, so
               you must use a DD statement rather than a LIBNAME.       
   Thanks to Brian A. Harvey, HCL America, USA.                         
                                                                        
Change 27.113  OMCI INTR Subtype 200 RECSUBTY 4 segments are 58 bytes in
VMACOMCI       length; MXG code guessed 53 bytes (and noted "UNTESTED").
Jun  1, 2009   The guess caused INPUT STATEMENT EXCEEDED error.         
   Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.        
                                                                        
Change 27.112  VMXGALOC only correctly allocated weekly PDBs datasets if
VMXGALOC       you were using Week-To-Date logic, and if FIRSTRUN=YES,  
BLDSMPDB       the TREND datasets were not correctly allocated.         
May 31, 2009                                                            
Jun 11, 2009   BLDSMPDB did not protect for no datasets in the PDB for  
               WEEKLY processing, and did not end a loop after all of   
               the datasets were processed, causing in a failed SUBSTR  
               function ERROR.  The loop logic now runs only if datasets
               exist in the input, and then only for the number of them.
   Thanks to Gary Havlatka, Creative Automation, USA.                   
                                                                        
Change 27.111  Support for multiple TMS/CA-1 catalogs creates IHDRTMS5  
IHDRTMS5       exit, adds &TMSJFCB FILENAME=INFILENM &TMSEOV options to 
TYPETMS5       the INFILE TMC statement, creates new TMSLIB and TMSDATE 
TYPSTMS5       variables, now inserted into the sort BY list used:      
VMACTMS5        BY ZDATE TMSLIB TMSDATE VOLSER ....                     
VMXGINIT       and, in the example code in IHDRTMS5, show how you can   
May 31, 2009   populate TMSLIB by parsing the DSNAME of each TMC infile,
               and how to populate TMSDATE with the Create Date from the
               JFCB of each infile.                                     
              -The location of the INFILE, IMACZDAT, and IHDRTMS5 was   
               moved into the MACRO _CDETMS macro definition in VMACTMS,
               to match the expected sequence of those exits.           
              -New macro variable MACTMSH is created for "instream" code
               alternative for the IHDRTMS5 header exit.                
              -New macro variable TMSJFCB=JFCB=TMSJFCB ; is set ONLY if 
               if MXG is executing under z/OS, where JFCB= exists.      
              -New macro variable TMSEOV=EOV=TMSEOV  ; is now set ONLY  
               if MXG is executing under SAS, as WPS JFCB= exists.      
   Thanks to Scott Barry, SBBWorks, Inc, USA.                           
                                                                        
Change 27.110 -I. MXG 27.05 execution tests with WPS 2.3.5 under ASCII: 
DOC            Summary:  Most MXG programs execute under WPS error-free.
Jun  5, 2009                                                            
AUTOEXEW       This program that creates MXG datasets cannot be used:   
MXGWPSV2        TYPESVC  - DS8000 Disk SAN Volume Controller XML record;
READDB2                     WPS does not support NAMED INPUT.           
UTILXRF1                                                                
TYPELSAR       This program that creates MXG datasets bypasses a new MXG
VMACNMON       feature when executed under WPS:                         
VMXGINIT        TYPETMS5 - CA-1/TMS Catalog support for multiple TMC's: 
Jul  4, 2009               Added in Change 27.111, the INFILE EOV option
                           (that allowed concatenation recognition so   
                           multiple catalogs could be concatenated) is  
                           not supported, so &MXGEOV is blank with WPS. 
                                                                        
               These report example programs use features not in WPS:   
                 ANALCISH - ALL report - PROC SQL run time.             
                 ANAL80A  - PROC REPORT.                                
                 ANALAVAL - PROC CALENDAR.                              
                 ANALPATH - OVERPRINT option PUT statement.             
                 UTILXRF1 - TRANSCODE attribute in DICTIONARY.COLUMNS   
                 UTILXRF1 - VALIDVARNAME=UPCASE.                        
              -The below were previously listed here as not usable, but 
               the inhibiting feature is now supported:                 
                 ANALMPL  - PROC PLOT VREVERSE,VPOS options not there.  
                 ANALTAPE - PROC PLOT VREVERSE,VPOS options not there.  
                 SASAUTOS - Warning not assigned, macros empty          
              -The HBAR option of PROC CHART is now supported, so these 
               members are now reinstated in the WPS QA tests:          
                 ANALCICS ANALMONI ANALPRNT ANALSMF                     
              -WPS 2.3.5 does not support SAS "NAMED INPUT" syntax, used
               in TYPESVC Open Systems DS8000 Disk SAN Volume Controller
               support.  The NAMED INPUT syntax has always been in SAS: 
                 INPUT FIELD1= FIELD2= ;                                
               and is used to read data records that have               
                 field1=value1 field2=value2                            
               but it wasn't needed in MXG until this pseudo-XML data   
               file was supported last November.                        
              -WPS 2.3.5 does not support the EOV= option on the INFILE 
               statement, newly needed for Change 27.111 to support read
               of multiple TMC libraries in TYPETMS5.                   
              -WPS 2.3.5, like 2.2, doesn't support OPTION VALIDVARNAME.
               Change 25.025 removed VALIDVARNAME=V7 from WPS CONFIGW2, 
               because the V7 function, to permit long variable names,  
               was the default in WPS.  But now, in MXG's UTILXRF1, used
               to create the DOCVER documentation, I needed to set SAS  
               option VALIDVARNAME=UPCASE so the variable names out of  
               the PROC CONTENTS were upper case, which causes WPS 2.3.5
               to fail with                                             
                ERROR: System option "VALIDVARNAME" is not known.       
              -WPS 2.3.5 doesn't support TRANSCODE attribute in the     
               DICTIONARY.COLUMNS dataset, used only in UTILXRF1 to     
               create the DOCVER documentation.  The TRANSCODE attribute
               is new in MXG and only exists in SAS v9, so MXG did not  
               execute the &MXGNOTRA when under WPS due to the SASVER=8 
               that is set when MXG executes under WPS, but this usage  
               is now also circumvented so the rest of the UTILXRF1 can 
               be tested under WPS.                                     
              -WPS 2.3.5 SASAUTOS library has no members, which caused a
               minor WARNING: SASAUTOS IS NOT ASSIGNED.  VMXGINIT issues
               LIBNAME SASAUTOS LIST; to list the concatenates, but that
               statement is now conditionally not-executed with WPS to  
               eliminate that harmless WARNING message on the log.      
               With SAS, the SASAUTOS library is required because %TRIM 
               is delivered as a source-code %MACRO in the SASAUTOS PDS,
               but WPS implemented %TRIM internally, so MXG doesn't need
               to point to SASAUTOS FILENAME under WPS.                 
                 NOTE: While FILENAME SASAUTOS is NOT required with WPS,
                       MXG under WPS still requires the                 
                         OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB;         
                       executed in VMXGINIT, so that WPS will look in   
                       //SOURCLIB to resolve all %MACRO references.     
               So all references to SASAUTOS FILENAME in the MXGWPSV2   
               JCL Procedure example and in the AUTOEXEW ASCII autoexec 
               file were removed.  Just for documentation, the WPS .CFG 
               file has the default  -SASAUTOS \&wpsroot\macros.        
              -The COUNTW() function, added to TYPENMON in Change 27.080
               only exists with SAS V9, so TYPENMON failed with either  
               SAS V8.2 or WPS 2.3.5.  NMON code was modified to only   
               use COUNTW() if under V9; a DO LOOP to count the commas  
               is used when not under SAS V9; same change in TYPELSAR.  
              -New dataset names "WORK._temp1559410888854220" structure 
               are created internally by PROC TRANSPOSE.                
              -Circumvented in READDB2.  WPS %Macro Compiler does not   
               resolve triple-percent-signs the same way that SAS does, 
               which caused WPS to die with a compiler error in READDB2.
               but, all READDB2 %%% and %% tokens are end-delimiters for
               old-style-macro-definitions, and, most fortunately, they 
               are no longer required (the problem they circumvented was
               fixed in SAS long ago), so they could be replaced with a 
               single percent sign in READDB2.  (There are still cases  
               when %%% is required in other MXG members, often before  
               an embedded %INCLUDE statement, but WPS handles those    
               without error.)                                          
              -Fixed in WPS Build 12169:                                
               WPS 2.3.5 failed when a FILENAME with concatenated input 
               files was read; the RECFM/LRECL on the FILENAME statement
               was not honored and a STOPOVER resulted when the system  
               default of V/256 was used for F/340 data.  This WPS error
               when files are concatenated is fixed in WPS Build 12169. 
                                                                        
              -Run Time Comparisons on Windows, zero observations input:
                                                                        
               MXG QA's first 36 "steps" create all 4700 MXG datasets in
               the LIBNAME VERSvvrr, and run times were comparable, with
               SAS V9.2 taking 10 min and WPS 2.3.5 taking 13 minutes.  
                                                                        
               But Step 47 TESTANAL, took over 80 Minutes (vs 2 for SAS)
               due to a WPS error in its PROC SQL, BUT, an error that is
               ONLY likely to occur in MXG's QA tests. MXG's %VGETOBS is
               invoked frequently in ANALxxxx examples, to test if a    
               dataset exists and if it has observations, and it uses   
                 PROC SQL: SELECT FROM DICTIONARY.TABLES                
                           WHERE  LIBNAME= MEMNAME=;                    
               The (internal) DICTIONARY.TABLES dataset has one obs for 
               each dataset in each LIBNAME.  The MXG QA TESTANAL step  
               allocates the 37 different LIBNAMES (PDB, WEEK1-WEEK5,   
               MONTH1-MONTH5, etc) that may needed by ANALxxxx programs 
               to that VERSvvrr directory with its 4700 datasets. So,   
               there are 37*4,700=173,900 datasets in DICTIONARY.TABLES,
               which overwhelms the defective WPS PROC SQL; each execute
               takes over 90 SECONDS of CPU and Elapsed time.  WPS has  
               identified their PROC SQL error and it will eventually be
               fixed.                                                   
                                                                        
               In addition to the long run time of the QA job due to the
               PROC SQL error, the QAWPSXX job has never completed.  It 
               gets to the TESTANAL code, and then in ANAL115 it just   
               hangs, continuing to execute, using CPU time, but with no
               further log messages, and the last message was a %VGETOBS
               PROC SQL execution. Skipping ANAL115 allowed the TESTANAL
               to get to ANALDB2R before it again hung, and again that  
               last message was a PROC SQL execution.  But since each of
               the ANALxxxx programs execute standalone, this too is an 
               error unlikely to occur outside the MXG QA test runs.    
                                                                        
                                                                        
               II. Z/OS Specific Tests, unresolved as of July 4, 2009:  
                                                                        
              -The Large ARRAY(256,512) problem in VMXGGETM that was    
               fixed in WPS 2.3.4 (WPS Error #6276, Change 26.258)      
               has shown up again in WPS 2.3.5. UTILGETM is only used   
               in the MXG Test Jobs, to create a small SMF file with    
               a few records of each type and subtype, so this is not a 
               fatal error for normal execution.                        
                                                                        
              -In the QA job only, after many data steps were run and   
               many datasteps had been written to the PDB library, the  
               BUILDPD3 step job failed with "PDB LIBRARY CORRUPTED"    
               error message.  However, since the BUILDPD3 program runs 
               fine when outside of the QA job, this is most likely an  
               issue with WPS "PROC SQL".                               
                                                                        
               III. Miscellaneous                                       
                                                                        
              -The //LOGCFG DD is no longer used by WPS, so it is now   
               removed from MXGWPSV2 JCL Procedure example.             
                                                                        
Change 27.109  QA COMPALL program found character to numeric conversion 
VMACLDMS       for not-kept-variable SEGMENT in VMACICE and VMACXPTR and
VMACXPTR       for not-kept-variable LDMSTYPE in VMACLDMS, both fixed.  
May 29, 2009   The COMPALL program compiles ALL of the MXG code members 
               that read SMF records, in a single (MASSIVE) DATA step to
               create 1907 datasets, all with zero observations because 
               the INFILE SMF is a zero-length or DD DUMMY file.        
               So COMPALL is also a good SAS compiler stress test.      
               Last year, Change 26.217 compared COMPALL with SAS 9.1.3 
               and WPS 2.2, but the z/OS comparison was wrong.          
               Now with MXG 27.04, which creates 1907 datasets and more 
               variables, and now using WPS 2.3.5, SAS 9.2 and SAS 9.1.3
               these comparisons are observed:                          
                                                                        
                  Compiler    Platform    Run Time      Memory Required 
                                                                        
                  SAS 9.2      Win/XP       96 seconds     1185 MB      
                  SAS 9.1.3    Win/XP       86 seconds     1158 MB      
                  WPS 2.3.5    Win/XP      101 seconds     not reported 
                                                                        
                  SAS 9.2      z/OS          7 minutes     1210 MB      
                  SAS 9.1.3    z/OS         12 minutes     1194 MB      
                  WPS 2.3.5    z/OS         17 minutes     1037 MB      
                                                                        
               Enabling the full diagnostic options to print all source 
               only increased the SAS V9.2 WIN/XP run time by 6 seconds.
                                                                        
Change 27.108  &NULLPDS, &LOAD, &SASAUTOS JCL Symbolics in MXG JCL Proc 
MXGSAS         examples are removed. They were never required, rarely   
MXGSAS92       used, and then, only in ancient releases of SAS.  And now
MXGSASV9       have caused JCL errors when very old and more recent JCL 
MXGSASV8       procs are used in the same job. such as this error:      
May 27, 2009      IEC143I 213-04,IFG0194D,M577FPA1,SASMXG,STEPLIB       
MXGWPSV2       Their only purpose was to override the //STEPLIB or the  
JCLQAWPS       //SASAUTOS DD statements, which can easily be done in the
Jun  1, 2009   JOB's JCL, with no exposure to the &NULLPDS DISP issues. 
               (See CHANGESS for the many NULLPDS historical hits!)     
              -JCLQAWPS moved LIBRARY to be before SOURCLIB so its JCL  
               overrides matched the order in MXGWPSV2.                 
   Thanks to Stuart Wildey, Morgan Stanley, USA.                        
   Thanks to MP Welch, SPRINT, USA.                                     
                                                                        
====== Changes thru 27.107 were in MXG 27.04 dated May 27, 2009======== 
                                                                        
Change 27.107  Support for BMC's IMF 4.4 (COMPATIBLE) added some new    
VMACCIMS       variables and some variables MXG had overlooked.         
May 26, 2009   These new variables are now created in IMFTRAN:          
Jun  2, 2009      CPUTRNX ='CPU AFTER*TRN STOP SET'                     
                  TRNOTCLP='IMS*CONNECT*CLIEN*PORT NUMBER'              
                  TRNMQMID='MQS*MESSAGE*ID'                             
                  TRNCVTTZ='TRNCVTTZ*GMT*TIME ZONE*OFFSET'              
                  TRNCAPPL='CICS*APPLID'                                
                  TRNFALSC='FALSE*SCHEDULES'                            
                  TRNTFLAG='COPY OF*RATTFLAG*DET TRACE'                 
                  TRNFALST='FALSE*SCHEDULE*ELAPSED*TIME'                
               This change has only been tested with 4.3 records.       
               Jun 2: TRNxxxxx fields wrong; Trace Table +80 vs +72     
               BMC APAR BAI9444 documents that the IMF Transaction CPU  
               time can exceed the transaction elapsed time, because the
               APAR BAI9312 excluded the "stopped term thread activity" 
               time from being included in transaction elapsed time, by 
               setting the transaction stop time upon completion of the 
               Get Unique, regardless of whether it returned another    
               message.  When it doesn't return another message, the    
               region goes through term thread, and the CPU used by the 
               terminate thread can cause the total transaction cpu to  
               exceed transaction elapsed time, since the transaction   
               stop time is set before term thread. BAI9444 modified the
               IMEUTMR7 timing routine to separately record any CPU time
               calculated after transaction stop time, in a new fields  
               named TRNXCPU, which MXG outputs in new variable CPUTRNX,
               so you can identify that is the cause of CPU time greater
               than elapsed time in IMS.                                
                                                                        
Change 27.106  Support for z/OS 1.10 storage metrics in SMF 119 create  
VMAC119        these four new subtype=5 variables in TY11905 dataset:   
May 25, 2009      TS6CEALO='CURRENT*ECSA*STORAGE*ALLOCATED'             
May 28, 2009      TS6CENIU='CURRENT*ECSA*ALOC BUT*NOT INUSE'            
                  TS6CPALO='CURRENT*AUTH PRIVATE*ALLOCATED'             
                  TS6CPNIU='CURRENT*AUTH PRIVATE*NOT IN USE'            
               May 28: The four INPUT statements are &PIB.8., not 4.    
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA               
   Thanks to Aylin Kavas, Royal Bank of Canada, CANDADA                 
                                                                        
Change 27.105A-PDB.TYP70 variables with "CPU" in their name or label are
DOC            supposed to  contain only metrics for the "CP" engines.  
May 24, 2009   Separate variables, with "ZIP" or "IFA" in their name or 
               their label, contain the metrics for zIIPs and zAAP/IFAs.
               Those three types of engines require separate capacity   
               analysis (and even have different capture ratios in MXG's
               RMFINTRV dataset).                                       
               And PDB.TYPE70 variable CPUPATTM contains the Parked Time
               for (only) the "CP" engines.                             
               However, the 64 individual-engine Parked Time is stored  
               in 64 variables named CPUPATM0-9,A,B....  So you could   
               have zero CPUPATTM in this MVS System, but CPUPATM4 could
               be non-zero, if your 4th engine is a zIIP, for example.  
              -PDB.TYPE70 variable CPUWAInn for nnth engine's LPAR Wait 
               is variable NEWWAIT in PDB.TYPE70PR for that engine, and 
               the variable MVSWAInn for the nnth engine's MVS Wait is  
               variable ORIGWAIT in PDB.TYPE70PR; variable ORIGWAIT and 
               SMF70WST are very close in PDB.TYPE70PR, but SMF70WST is 
               smaller by as much as a half second in 15 minutes.       
                                                                        
Change 27.105  The ACF2VR dataset is enhanced with new ACFMTYPE variable
FORMATS        that is formatted by new $MGACFTY format to decode the   
VMACACF2       combination of the 2nd-4th bytes of ACVMFRES and the HEX 
May 21, 2009   value of ACVMFLGS NI (LOGICAL AND'ed) with '3E'x.  These 
               new values are primarily for DB2 activity identification.
   Thanks to Jake Phillips, Lowe's Companies, USA.                      
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
   Thanks to David Pflum, CA, USA.                                      
                                                                        
Change 27.104  The BVIR TS7700 HYDRA data contains GMT values for all of
VMACBVIR       its timestamps, SMFTIME, STARTIME, ENDTIME, and VERTIME, 
May 24, 2009   whether the data is in History File or SMF File format,  
Jun  1, 2009   but there is no field with the GMT Offset time, so you   
               must tell MXG your GMT Offset value, with this syntax    
                  %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;          
               if you want those datetimes on your local time zone.     
               For USA sites, the value is negative, -18000 for EST at  
               5 hours, -14400 for EDT at 4 hours behind GMT, etc.      
               You set that GMT offset value using:                     
                - SMF-FORMAT BVIR DATA:                                 
                  // EXEC MXGSASV9                                      
                  //SMF DD DSN=BVIR.SMF.FORMAT,DISP=SHR                 
                  //PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....      
                    %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;        
                    %INCLUDE SOURCLIB(TYPSBVIR);                        
                        or                                              
                - HISTORY-FORMAT BVIR DATA:                             
                  // EXEC MXGSASV9                                      
                  //BVIRHIST DD DSN=BVIR.HISTORY.FORMAT,DISP=SHR        
                  //PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....      
                    %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;        
                    %INCLUDE SOURCLIB(TYPSBVIH);                        
               Labels were revised Jun 1.                               
   Thanks to Perry Lim, Union Bank, USA.                                
                                                                        
Change 27.103  New INTERVAL values of THREEMIN and TWOMIN are created,  
VMXGDUR        and they can be used in any MXG INTERVAL= parameter in   
May 21, 2009   ALL ANALxxxx/ASUMxxxx/TRNDxxxx/RMFINTRV invocations.     
   Thanks to Jacob Nudel, Thomson Reuters, USA.                         
                                                                        
Change 27.102  PARTNCPU and other variables in PDB.ASUM70PR could be    
VMXG70PR       missing values if the last LPARNAME in this sort order   
May 20, 2009    BY CECSER  SYSPLEX  SYSTEM SYSNAME SMF70GIE GMTOFFTM    
                   LPARNUM LPARNAME;                                    
               was for a non-z/OS LPAR, as the "CP-engine" variables    
               are missing values in non-CP-engine LPARS.  This could   
               only occur with recent ASUM70PR enhancements in 27.02+   
               that added non-CP-engine LPARS to PDB.ASUM70PR dataset.  
               This case had a z/VM LPAR with only IFLs as last LPAR.   
               By changing sort order to GMTOFFTM DESCENDING LPARNUM,   
               the LAST LPAR for every interval will be LPARNUM=0,      
               LPARNAME='PHYSICAL' LPAR, which always has the variables.
   Thanks to Paul Naddeo, FISERV, USA.                                  
                                                                        
Change 27.101 -PRISMA log record could have colon or period delimiters  
VMACPRPR       in DATE or TIME character fields, so MXG had two separate
May 20, 2009   links for conversion, but four combinations could exist, 
Jun  2, 2009   causing missing values in STARTIME and ENDTIME.  But only
Jun 22, 2009   one conversion is needed, by using '.:' in the SCAN() to 
               decode with whichever delimiter is present.              
              -Variable COPY was not kept in PRPR1620 dataset.          
              -Jun 19: JOBNAME increased to $128 as it can contain more 
               text. Fortunately, since PRISMA code is executed         
               standalone, with only the PRISMA log file read, this ONLY
               impacts the length of JOBNAME in the PRISMA datasets.    
              -Variables COPY, UNKNOWN, PRINTCNT, MEDIANUM, OFFSETS in  
               PRPR1620 are read in that order to correct values.       
   Thanks to Nik Marien, KBC Global Services NV, BELGIUM.               
                                                                        
Change 27.100 -MXG "trashed" dataset ZRBLCP in RMF III from z/OS 1.10   
VMACRMFV       because MXG (in a rare case) didn't use the triplet for  
May 20, 2009   offset/length for the INPUT of the CPC Logical Processor 
May 25, 2009   Section (DSECT ERBCPCDB).  24 bytes inserted after the NR
               of LCPUs, and 8 bytes added to each LCPUADDR segment with
               CPUG3 Version=5 and CPCDB Version=4 are now properly read
               using the triplet, which will also protect for future IBM
               changes, transparently, without trashed output data.     
              -IBM RMF III Support provided doc of the new LCPUADDR data
               fields, in those extra bytes, now these new variables    
                 LCPUPRMN='PROC*MIN*WEIGHT'                             
                 LCPUPRMX='PROC*INI*WEIGHT'                             
                 LCPUPOLW='POLAR*WEIGHT'                                
               in the ZRBLCP dataset.                                   
              -But in validating this correction, I saw that there were 
               observations for each LCPUADDR, including offline engines
               and LCPUADDR that were NEVER dispatched during each one  
               minute interval, a waste of disk space, so the logic now 
               only outputs ZRBLCP observations if LCPUPDTM dispatch is 
               non-zero (but that could be overridden in MACRO _EZRBLCP 
               if you really want all the zero dispatch intervals to be 
               created).                                                
   Thanks to David Lo, Bank of America, USA.                            
   Thanks to Betty Wong, Bank of America, USA.                          
                                                                        
Change 27.099 -The optional Omegamon DB2 segment for CICS/TS 3.2 or 4.1 
IMACICOB       had correct counts but the durations were way too small. 
May 20, 2009   They were divided by 4096 instead of multiplied by 16 in 
               Change 25.238, when a new block of code for CICS/TS 3.2+,
               for SMFPSRVR GE 65.0 used the /4096 conversion, expecting
               a TODSTAMP value, instead of the old *16 conversion for  
               16 microsecond values.  I must have misread the DSECT.   
               The new block with /4096, and the tests for SMFPSRVR are 
               now all removed, and there is a single code block for all
               CICS versions.                                           
              -The 100-byte segment always exists when enabled, but its 
               internal length is zero if the transaction did not call  
               DB2, so the MXG logic now only INPUTs those 24 fields if 
               that length is non-zero (so those variables will have a  
               missing value in non-DB2 transactions, instead of all    
               having values of zero).                                  
   Thanks to Jim Polenti, Edward Jones, USA.                            
   Thanks to Jeana M. Bechtel, Edward Jones, USA.                       
                                                                        
Change 27.098 -Typos in BLDSMPDB for WAS were corrected in BLDSMPDB     
BLDSMPDB          the statement   weekkeep=&wek2kep.                    
VMXGALOC          was changed to  weekkeep=&wek2keep,                   
May 19, 2009      and after line 437, this statement was inserted       
                       dayskeep=&day2keep,                              
              -In VMXGALOC, the %GLOBAL was removed as superfluous;     
               the variables are being set by a SYMPUT which is an      
               implicit GLOBAL.  This removed spurious messages on the  
               SAS log, messages that were different when MXG was run   
               in a Window versus run in Batch.                         
   Thanks to Gary Havlatka, Creative Automation, USA.                   
                                                                        
Change 27.097 -PDB.DB2STATS now has ALL DB2 STATISTICS interval data.   
READDB2        DB2 V9 DB2STAT0, DB2STAT1, DB2GBPST, DB2STAT4 (IFCID 225)
VGETOBS        are merged to create PDB.DB2STATS, and for DB2 V8, the   
VMACDB2        DB2STAT0, DB2STAT1, T102S225 are merged in PDB.DB2STATS. 
May 24, 2009  -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are    
Jun 25, 2009   automatically merged into the PDB.DB2STATS dataset.      
              -All variables (QW0225xx) from T102S225 (DB2 V8) can be   
               merged into the PDB.DB2STATS dataset, but you may have to
               make some updates, if you don't use %READDB2, below.     
              -READDB2 always creates DB2STAT4 with IFCIDS=STATISTICS.  
              -READDB2 only creates T102S225 if IFCIDS=225 .... is used.
              -READDB2 updates PDB.DB2STATS with DB2STAT4 if STATISTICS 
               is specified.  If IFCID 225 is also specified, then the  
               T102S225 is also updated into PDB.DB2STATS.              
              -If you use BUILDPDB, TYPEDB2, TYPSDB2 instead of READDB2:
               -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are   
                automatically merged into the PDB.DB2STATS dataset.     
               -All variables (QW0225xx) from T102S225 (DB2 V8) can be  
                merged into the PDB.DB2STATS dataset, but you have to   
                tell MXG you have V8 data to be added; see below.       
              -You should use PDB.DB2STATS for all statistics reports,  
               replacing use of DB2STAT0, DB2STAT1, DB2STAT4, DB2GBPST, 
               and T102S225 in your DB2 reports.                        
               More details:                                            
              -DB2 V9 DB2STAT4 (optional IFCID=225, ID=100, subtype=2)  
               and DB2 V9 DB2GBPST (100 subtype 1 QBGL) variables are   
               now merged to expand existing PDB.DB2STATS dataset to    
               contain all variables for each interval for each DB2     
               Subsystem, i.e., all possible variables from the DB2     
               ID=100 Subtype 0, 1, or 4 SMF records.  DB2STAT4 vars are
               added by %INCLUDEs of TYPEDB2, TYPSDB2, or BUILDPDB, or  
               by using %READDB2(IFCIDS=STATISTICS) program for V9.     
              -DB2 V8 writes IFCID=225 as an SMF 102 subtype 225 Trace  
               record, and MXG creates the T102S225 dataset for V8, but 
               it has the same variables as the V9 DB2STAT4, so DB2 V8  
               IFCID=225 variables can also be added into PDB.DB2STATS: 
                -%READDB2(IFCIDS=STATISTICS 225,PDBOUT=PDB) will create 
                  both T102S225 and DB2STAT4 and merge each to expand   
                  and populate the PDB.DB2STATS dataset with both V8 and
                  V9 IFCID=225 variables.                               
                -To add V8 IFCID=225 processing to BUILDPDB, and to add 
                  those variables to PDB.DB2STATS, you need to EDIT     
                  these statements into these MXG exit members into your
                  "USERID.SOURCLIB" tailoring PDS library/directory:    
                     EXPDBINC:                                          
                       %INCLUDE SOURCLIB(VMAC102);                      
                     EXPDBVAR:                                          
                       MACRO _VARUSER _V102225 %                        
                     EXPDBCDE:                                          
                       MACRO _CDEUSER _HDR102 _C102225 _END102 %        
                     EXPDBOUT:                                          
                       _SDB2STY                                         
                -If you instead use these other ways to create T102S225 
                 dataset for DB2 V8, depending on how you created it:   
                                                                        
                  if created by      old-style macro    macro variable  
                    TYPE102             _W102225           &W102225     
                    TYPS102             _L102225           &P102225     
                    %READDB2            _W102225           &W102225     
                    %READDB2(PDBOUT)      n/a              &PDBOUT      
                    EXPDBOUT              PDB                PDB        
                                                                        
                 then you have to use %LET to set the DDNAME of your    
                 T102S225 dataset's library, and then insert the new    
                 _SDB2STY macro token in your source program, after you 
                 have created PDB.DB2STATS and PDB.T102S225, e.g.:      
                     %LET PDB2STY=PDB;                                  
                     _SDB2STY;                                          
                     RUN;                                               
              -READDB2 in MXG 27.02-27.03, when ONLY the IFCIDS=225 was 
               requested, caused a 10-fold increase in CPU time if there
               were lots of other DB2 records, because READDB2 in those 
               versions (incorrectly) created all of the other DB2ACCTx 
               and DB2STATx datasets when only T102S225 was desired.    
               lots of unwanted ID=101 records.  Now, only T102S225 is  
               created if only IFCIDS=225 is specified.                 
              -All executions of READDB2 should be faster; all non-DB2  
               SMF records are immediately skipped as soon as the SMF ID
               is read; previously, all DB2 Product Headers were read   
               before record selection/skipping was done.               
              -PROC COPY IN=WORK OUT=&PDBOUT was incorrectly run (copy  
               each DATASET to the &PDBOUT libname) when &PBOUT=YES,    
               was specified, causing LIBNAME YES NOT FOUND.  Now, the  
               PROC COPY is bypassed if PDBOUT=YES.                     
              -VGETOBS was enhanced with new NOEXIMSG=NO argument that  
               bypasses printing of the DATASET DOES NOT EXIST message  
               and the DATASET HAS nnn OBSERVATIONS message, useful when
               VGETOBS is used only to detect that a dataset exists.    
              -These new variables, based on IBM MEMU2 report example:  
               are created in PDB.DB2STATS from the DB2STAT4/T102S225:  
                  CUSHION = QW0225SO+QW0225MV+QW0225CR;                 
                  NDB2STOR= QW0225EH-QW0225GM-QW0225GS-QW0225FX-QW0225VR
                  ALLOWSTR= QW0225RG-CUSHION-NDB2STOR;                  
                  THRDUSE = QW0225RG-CUSHION-NDB2STOR-QW0225GM          
                           -QW0225AS-QW0225FX-QW0225EL;                 
                  THRDFTPT= (QW0225VR-QW0225AS+QW0225GS) /              
                            (QW0225AT+QDSTCNAT);                        
                  MAXTHRDS= THRDUSE / THRDFTPT;                         
                  TOTTHRDS= QW0225AT+QDSTCNAT;                          
                  OVERALLO= MAXTHRDS - TOTTHRDS;                        
                  CUSHION ='CUSHION*WARNING'                            
                  NDB2STOR='TOTAL*DBM1*STORAGE'                         
                  ALLOWSTR='ALLOWABLE*STORAGE'                          
                  THRDUSE ='THREAD*STORAGE*USED'                        
                  THRDFTPT='THREAD*STORAGE*PER THREAD'                  
                  MAXTHRDS='MAXIMUM*THREADS'                            
                  TOTTHRDS='TOTAL*THREADS'                              
                  OVERALLO='OVER*ALLOCATED*THREADS'                     
   Thanks to Ray Dunn, CIGNA, USA.                                      
   Thanks to Deborah L. Soricelli, CIGNA, USA.                          
                                                                        
Change 27.096  There is a new "MEM" object with 15 new variables:       
VMACNMON         MEMTOTAL HIGHTOTAL LOWTOTAL   SWAPTOTAL MEMFREE        
May 18, 2009     HIGHFREE LOWFREE   SWAPFREE   MEMSHARED CACHED         
                 BIGFREE  BUFFERS   SWAPCACHED INACTIVE  ACTIVE         
               instead of the non-overlapping 5 memory variables that   
               were in previous NMON MEM Object records.                
               The order of the two LOW/HIGH sets in these new fields   
               is clearly mis-documented in the "MEM" Header record;    
               the LOW value precedes the HIGH value, so MXG's code now 
               matches the actual data rather than the documentation.   
              -Labels for variables REALFREE & VIRTFREE didn't include  
               "PERCENT".  Those memory percentages are calculated as   
                 REALFREE=100*REMBFREE/REMBTOTL;                        
                 VIRTFREE=100*VIMBFREE/VIMBTOTL;                        
              -Both sets of memory variables are kept in NMONINTV.      
              -"NMON", "Nigel's Monitor", is now delivered as part of   
               TOPAS in AIX 5.3/6.1 or VIRTUAL I/O SERVER VIOS 2.1.     
   Thanks to Tom Draeger, Aurora Health Care, USA.                      
                                                                        
Change 27.095  The TRND23 member had not been updated to use the macro  
TRND23         variables TRENDOLD TRENDNEW TRENDINP, which optionally   
May 17, 2009   set the libnames for new, old and input trend libraries, 
               and old macro names expected the week input in the "PDB" 
               libname, when it should have used "WEEK" to match the    
               other TRND Trending members.                             
   Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd, AUSTRALIA
                                                                        
Change 27.094  A REALLY invalid SMF 30 Subtype 1 INPUT EXCEEDED RECORD  
IMACACCT       error had NRACCT=127 and LENACCT=400, impossible values, 
May 14, 2009   and there was only trash at the OFFACCT location. MXG    
               only decodes 9 ACCOUNTn fields, printing a message for   
               the 10th, but IMACACCT did not protect for this much     
               of invalidity.  Now, it stops reading the ACCT fields    
               when the 10th is encountered, with enhanced diagnostics. 
   Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.                    
                                                                        
Change 27.093  Variable JESNR in TYPETPMX datasets was only 5-digits but
VMACTPMX       JESNR can now be up to seven digits.  The VMXGJESN member
May 13, 2009   is now %INCLUDEd after JCTJOBID has been input, and the  
Mar 20, 2012   JESNR is now created from JCTJOBID rather than just input
               of the last five digits.                                 
               Mar 2012:  Maximum JESNR is 999,999 because the first of 
               seven digits is always a zero.                           
   Thanks to Paul Volpi, UHC, USA.                                      
   Thanks to James D. Lieser, UHC, USA.                                 
                                                                        
Change 27.092 -VMXGOPTR errored with SAS V8.2 or V9.2 in different ways:
VMXGOPTR      -ONLY under SAS V8.2, MXG 27.03 caused BUILDPDB errors in 
VMXGSUM        the VMXGSUM invocation for SUMSTATB with error messages  
May 14, 2009    MXGNOTE: VMXGSUM FROM MXG 27.03 INVOKED BY SUMSTATB     
May 18, 2009    ERROR: OVERFLOW HAS OCCURRED; EVALUATION IS TERMINATED. 
May 22, 2009    ERROR: THE MACRO VMXGOPTR WILL STOP EXECUTING.          
               This error is ONLY in the SAS V8 %Macro compiler, and is 
               circumventable;  the problem is that V8 %Macro compiler  
               is not terminating strings at the equal sign as expected,
               but by wrapping the strings in double-quotes, to make it 
               a character compare rather than an evaluated comparison  
               circumvented the compiler error.                         
               There is also an associated change between V8 and        
               V9 in the limit to the value of a numeric compare in the 
               macro language from 2**32 in V8 to 2**64 in V9, causing  
               the compare to work accidentally in V9 but not in V8.    
                                                                        
               The one statement in VMXGOPTR that caused SAS V8 to fail 
                 IF "&STRING"="123456789123456789" %THEN ....           
               was corrected, so this part of MXG continues to execute  
               with SAS V8.2, BUT USING V9 IS MUCH BETTER AND SAFER!    
                                                                        
              -Enroute to isolating the actual error, we investigated   
               VMXGSUM for long-length-macro-text, a known past problem 
               with the SAS Macro Language, and did reduce the length of
               some macro variables in the updated VMXGSUM, but it was  
               not the cause of the OVERFLOW.                           
               This simple test isolated the V8-only compiler error:    
                 %MACRO TESTCASE;                                       
                 %LET STRING=12345678912345689;                         
                 %IF &STRING=12345678912345689 %THEN %PUT TEST FAILED;  
                 %MEND TESTCASE;                                        
                 %TESTCASE;                                             
               When executed on SAS V9, "TEST FAILED" was printed. when 
               run under SAS V8.2, the OVERFLOW occurred.               
                                                                        
              -Since V8.2 is ancient, I won't ask SAS Institute to spend
               their time fixing the %Macro compiler error, with what   
               appears to be a complete circumvention. Chuck and I spent
               a great deal of time chasing this V8-ONLY error, just so 
               those of you that are still limping along on ancient V8, 
               and knowing that you do need V9 (but just can't find time
               to install it) can still get the full benefits of all of 
               the new features and enhancements in the current MXG.    
                                                                        
              -ONLY user SAS V9.2, just to get even, its macro compiler 
               found invalid syntax of %THEN %THEN in VMXGOPTR, when it 
               was called from deep within READDB2, causing V9.2 error  
               message NO MATCHING %IF FOR %THEN.                       
               SAS V9.1.3 didn't burp with that same invalid syntax!    
   Thanks to Francois Chable, DTF/DESI, FRANCE.                         
   Thanks to Hai Dang, DTF/DESI, FRANCE.                                
   Thanks to Winnie Peng, Hawaii Medical Service Association, USA.      
                                                                        
Change 27.091  ASG TMON/CICS variables WTSCWTTM and WTSCWTCN were input 
VMACTMO2       reversed, with the counts in the time field (but divided 
May 13, 2009   by 1 million!) and the time in the count filed (and NOT  
               divided as it should be), in three separate INPUTs.      
   Thanks to Shantha Hallett, Capgemini UK, ENGLAND                     
                                                                        
Change 27.090  Became Change 27.097.                                    
                                                                        
Change 27.089 -The dataset TYPE72DL delay counters R723RW01-R723RW15 are
VMAC7072       now described by new variables R723RN01-R723RN15, from   
May 11, 2009   the Resource Delay Type Names Section added in z/OS 1.10 
               to the SMF 72 Subtype 3 record.  There is a separate Name
               Section for each of subsystems (DB2,CICS,IMS,SMS,etc.)   
               that capture delay samples, so each can have a different 
               description of each of its fifteen delay counters.       
              -The _BTY72DL "BY list" sort order that removes dupes was 
               revised by adding RPRTCLAS as the penultimate variable, a
               protection required ONLY if you have (unwisely) used the 
               same name for a Service Class and for a Reporting Class. 
                                                                        
               The R723RN01 Name fields have not been tested with data; 
               thus far, all test files have R723RDNN=0.                
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 27.088  Support for TS7700/BVIR Microcode 1.5.                   
FORMATS       -Format $MGBVIDC added x23 3592 Model E05 x24 Model E06.  
VMACBVIR         x23='x23:3592 Model E05 (Encrypted)                    
May  6, 2009     x24='x24:3592 Model E06.                               
              -New DLIBSEQN, Distributed Library Sequence Number is     
               added to all datasets; while documented as EBCDIC, the   
               same protective algorithm for GLIBSEQN in Change 27.077  
               is used for DLIBSEQN in case it really is also ASCII.    
              -BVIR10 new variable DEFTHRTL                             
              -BVIR30 new variables:                                    
                PCTWDFTH AVGDEFTH BASEDFTH PRMIGTTH UNMIGD00            
                AWAITR00 UNMIGD01 AWAITR01                              
              -BVIR33 new variables:                                    
                G1MLCTA1-G1MLCTA4 G1ALCTA1-G1ALCTA4 G2MLCTA1-G2MLCTA4   
                G2ALCTA1-G2ALCTA4 G3MLCTA1-G3MLCTA4 G3ALCTA1-G3ALCTA4   
                G4MLCTA1-G4MLCTA4 G4ALCTA1-G4ALCTA4 G5MLCTA1-G5MLCTA4   
                G5ALCTA1-G5ALCTA4 G6MLCTA1-G6MLCTA4 G6ALCTA1-G6ALCTA4   
                G7MLCTA1-G7MLCTA4 G7ALCTA1-G7ALCTA4 G8MLCTA1-G8MLCTA4   
                G8ALCTA1-G8ALCTA4                                       
   Thanks to Jens Mohring, HUK-COBURG, GERMANY.                         
   Thanks to Markus Bansemir, HUK-COBURG, GERMANY.                      
                                                                        
Change 27.087 -NMONBBBP dataset contained blank values for many BBBPnnn 
VMACNMON       variables; the OUTPUT logic was relocated and revised.   
May  5, 2009  -Variable BBBP029='ENTITLED*CAPACITY' instead had value of
               BBBP050='ENTITLED CAPACITY OF POOL'.  The values are     
               corrected, and several BBBPnnn labels were revised.      
   Thanks to Silvio Ferrari, Banca Carige S.p.a., ITALY.                
   Thanks to Franco Tonelli, Banca Carige S.p.a., ITALY.                
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.                  
                                                                        
Change 27.086 -DB2STATS variables QISEKPGE, QISESPGE, QISESFRE, QISESKCT
VMACDB2        QISESKPT and QISEKFRE aren't accumulated fields, but they
May  5, 2009   were deaccumulated; variables QISEKTA and QISECTA were   
               also deaccumulated, and probably also shouldn't have been
               but all test values are zeros for those two variables, so
               they have not been validated.  All eight variables are no
               longer deaccumulated.                                    
              -Variable QISESPGE has a default value of 524287 pages    
               (2GB) that is set by a "hidden" zparm value of "SPRMABVC"
               in DSN6SPRC, but IBM STRONGLY RECOMMENDS THAT YOU DO NOT 
               CHANGE THAT DEFAULT VALUE UNTIL/UNLESS DB2 L2 determines 
               there is a storage problem.                              
   Thanks to John Shuck, Suntrust, USA.                                 
                                                                        
Change 27.085  Omegamon ONDV datasets created from subtype 203 had blank
VMACOMCI       values for the "xTRAN" variable because MXG did not INPUT
May  8, 2009   these three variables from the header: OMCIJOB, OMGAPPL, 
               and OMSAPPL.  Now, all are kept in the OMCI-203 datasets:
                  OMCIADA  OMCIADAT OMCIDLI  OMCIDLIT OMCIDTCO          
                  OMCIDTCT OMCIIDMS OMCIIDMT OMCISUPR OMCISUPT          
                  OMCIVSAM OMCIVSAT                                     
   Thanks to Richard Schwartz, State Street Bank, USA.                  
                                                                        
Change 27.084  First MXG 27.03 had two members revised:                 
VGETDDS       -The enhanced VGETDDS wasn't, having not been tested with 
VMACIMSA       all options; a missing %END and non-defined GOOVOO were  
May  5, 2009   added (but that's why I didn't list VGETDDs in the list  
May 12, 2009   of Major Enhancements, since it was still in testing, and
May 20, 2009   is not exactly mainstream!).                             
               Additional cleanup of MXGWARN versus MXGERROR, protection
               for START END, etc., were added.                         
              -VMACIMSA addition of the new IMS45x statistics records   
               didn't have the new ST* variables in a FORMAT statement; 
               this was missed in QA because the same variables were in 
               a FORMAT statement in VMACIMS.                           
                                                                        
====== Changes thru 27.083 were in MXG 27.03 dated May  4, 2009======== 
                                                                        
Change 27.083 -VGETDDS reads "logically concatenated" PDB libraries with
VGETDDS        DDnames "starting with", e.g. (PDB1 PDB2 PDB3....) to    
May  2, 2009   select a SAS dataset (e.g. JOBS) from all of those PDBs. 
               You control which data libraries are read in your JCL,   
               without modifying your program, using VGETDDS & VMXGSET. 
              -This change enhances VGETDDS to allow dynamic allocation 
               of DSNAMEs that are GDGs, or of DSNAMES with embedded    
               DATEs.                                                   
              -Extensive comments and examples describe how to read a   
               SAS dataset from multiple data libraries in a single     
               "SET" statement that doesn't require separate DDs in your
               JCL.                                                     
   Thanks to Brian A. Harvey, HCL America, USA.                         
                                                                        
Change 27.082  Support for DCOLLECT's z/OS 1.10 change to DCDOVERA, now 
VMACDCOL       defined as a 32-bit unsigned number, previously defined  
Apr 30, 2009   as a 31-bit signed number, requires NO CHANGE to MXG, as 
               that variable has always (since 1994!) been INPUT with a 
               INFORMAT of PIB4, which reads all 32 bits. MXG always has
               used PIB4 for any variable for which a negative value is 
               impossible, even when IBM called it a signed value.      
               (For the miniscule number of variables that actually can 
               have a negative value, MXG uses IB4 INFORMAT.)           
   Thanks to Brian A. Harvey, HCL America, USA.                         
   Thanks to Paul Ashford, USAA, USA.                                   
                                                                        
Change 27.081  Support for APAR OA27623 that adds CPU Speed, SM1132SP,  
VMAC113        speed in cycles per microsecond, to TYPE113 dataset.     
Apr 30, 2009                                                            
                                                                        
Change 27.080 -Improved protection for inconsistent NMON data that has  
VMACNMON       fewer counters in the data records than the number of    
Apr 30, 2009   field names in the header record, primarily observed in  
May  2, 2009   the DISKxxxx and JFSxxxxx records. The short records were
               erratic; most data records had the correct number of data
               values, but, interspersed, there were the short records. 
              -The INPUT statements for each record type are replaced by
               an initial INPUT and then the SCAN() function is used to 
               populate the new WORDS array, so that the NRWORDSIN can  
               be initially counted, but then the WORDS array is read to
               find the last field that is non-blank, and its position  
               is then NRVALUES, which is used in all comparisons with  
               the expected number of fields from the header record.    
               This was because (for example, DISKBUSY) records with 19 
               header fields, but with only the first 3 populated, were 
               found, and subsequent data records had 19 fields usually,
               but some had only 15 fields, but all of the data records 
               had only 3 fields populated.  The old algorithm deleted  
               those short data records, but now, if the last non-blank 
               field locations match, the data record can be decoded and
               is now output eliminating COUNTERS ARE DIFFERENT messages
               (unless the counts really are different).                
              -The BBBP record still has to be INPUT rather than scanned
               because I couldn't find how to SCAN a comma-delimited    
               field with double-quotes around embedded comma(s)!       
              -The COUNTW(FIELD,','); function does NOT correctly count 
               fields with repeated commas, and it took two invocations 
               of TRANWRD(WORD,',,',',') to separate all of the commas  
               to get the correct count of fields.                      
              -The AAA Record DATE value was expected to be a 4-digit   
               YYYY value, so records with only YY (non-Y2K compliant!) 
               caused INVALID ARGUMENT TO FUNCTON error message.  MXG   
               now protects NMON for YY in the date field, and the      
               MONTH argument was protected with an UPCASE() function.  
   Thanks to Arthur Sy, Depository Trust, USA.                          
                                                                        
Change 27.079  The Elapsed Time variable in the ORACLE dataset was still
VMACORAC       missing; Change 26.099 was apparently lost.  Now,        
Apr 27, 2009      ELAPSTM=SMFTIME-STARTTS;                              
   Thanks to Bret Hoesly, Telephone and Data Systems, USA.              
                                                                        
Change 27.078  Support for IMS Log Record 45X IMS Interval Statistics   
ASMIMSL6       creates 24 new datasets from its 22 subtypes:            
TYPEIMSA         dddddd     Dataset   Description                       
TYPSIMFL         IMS450     IMS4500   IMS 4500 BEGIN STATISTICS'        
TYPSIMS7         IMS452     IMS4502   IMS 4502 QUEUE POOL STATISTIC'    
VMACIMS          IMS453     IMS4503   IMS 4503 FORMAT BUFFER POOL S'    
VMACIMSA         IMS454     IMS4504   IMS 4504 DATABASE BUFFER POOL'    
VMXGINIT         IMS455     IMS4505   IMS 4505 VARIABLE POOL STATIS'    
May  4, 2009     IMS456     IMS4506   IMS 4506 SCHEDULING STATISTIC'    
                 IMS457     IMS4507   IMS 4507 LOGGER STATISTICS'       
                 IMS458     IMS4508   IMS 4508 VSAM SUBPOOL STATIST'    
                 IMS459     IMS4509   IMS 4509 PI STATISTICS'           
                 IMS45A     IMS450A   IMS 450A LATCH STATISTICS'        
                 IMS45C     IMS450C   IMS 450C CBT STATISTICS'          
                 IMS45D     IMS450D   IMS 450D RECEIVE ANY BUFFER P'    
                 IMS45E     IMS450E   IMS 450F FIXED POOL STATISTIC'    
                 IMS45F     IMS450F   IMS 450F DISPATCHER STATISTIC'    
                 IMS45O     IMS450O   IMS 450F DISPATCHER TCB STATISTIC'
                 IMS45P     IMS450P   IMS 450F DISPATCHER SAP STATISTIC'
                 IMS45G     IMS4510   IMS 4510 RCFT STATISTICS'         
                 IMS45H     IMS4511   IMS 4511 STORAGE STATISTICS'      
                 IMS45I     IMS4512   IMS 4512 IMODULE STATISTICS'      
                 IMS45J     IMS4513   IMS 4513 MSC STATISTICS'          
                 IMS45K     IMS4514   IMS 4514 EWLM STATISTICS'         
                 IMS45L     IMS4521   IMS 4521 IRLM USERT STATISTIC'    
                 IMS45M     IMS4522   IMS 4522 IRLM SYSTEM STATISTI'    
                 IMS45N     IMS45FF   IMS 45FF END STATISTICS'          
               The IMS Interval Statistics contain many accumulated     
               variables, which are deaccululated in the _SIMS45X macro,
               which has been added to TYPSIMS7 ("old" log records only)
               and to TYPSIMFL (processes IMF/CIMS and the IMS records),
               and to TYPEIMSA (part of JCLIMSL6 IMS Log Processing),   
               but only those variables that were non-zero in my small  
               test file have been validated.  You can use  _MEANDBG    
               after your include of either TYPSxxxx member to run a    
               PROC MEANS against all of the statistics datasets, and   
               look for a negative MINIMUM value to identify fields that
               are being deaccumulated that should not be.              
              -TYPSIMFL has been updated with comments and sample JCL to
               select only the 0F9x, 0FAx, and 45x log records and to   
               write the four IMF datasets to separate DDs, writing all 
               of the new statistics data to the default //PDB DDname.  
              -ASMIMSL6 (for the JCLIMSL6 MXG IMS Log Processing, used  
               only if you do NOT have IMF or another IMS monitor) is   
               updated to also select the 45x records; since they are   
               interval records, their volume should always be small.   
              -Note that the default output destination of these new    
               IMS45xx datasets is the //WORK ddname, just like the     
               Fastpath and CPIC datasets.  You can use                 
                   %INCLUDE SOURCLIB(TYPEIMSx);                         
                   PROC COPY IN=WORK OUT=whatever MT=DATA;              
                    SELECT IMS45: ;                                     
               to copy these new (low volume) datasets to whatever      
               DD/LIBNAME you want, or you can override individual      
               datasets with %LET PIMS45z=whatever; before the %INCLUDE.
               Note the Pdddddd macro token must be used because of the 
               de-accumulation that is required.                        
   Thanks to Christa Neven, KBC Global Services, BELGIUM.               
                                                                        
Change 27.077  BVIR variable GLIBSEQN was documented as EBCDIC and early
VMACBVIR       test data had '00'X values, but new data with ASCII data 
Apr 27, 2009   is found, so MXG logic now tests for '00'x, or for EBCDIC
               hex values ('81'x-'A9'x,'C1'x-'E9'x,'F0'x-'F1'x) or falls
               thru for ASCII to input GLIBSEQN in the correct format.  
   Thanks to Rob D'Andrea, Royal Bank of Scotland, SCOTLAND.            
   Thanks to Penny Dudgeon, Royal Bank of Scotland, SCOTLAND.           
                                                                        
Change 27.076  Significant enhancements to ASUM70PR summarization of    
VMAC7072       TYPE70PR adds support for HiperDispatch by subtracting   
VMXG70PR       Parked Time SMF70PAT from both Online Time SMF70ONT and  
Apr 30, 2009   from Wait Time SMF70WST, AND adds new IFA, IFL, and ZIP  
               variables to each LPAR to fully support those Specialty  
               engines (especially IFLs which were not captured in the  
               previous ASUM70PR implementation), captures the PHYSICAL 
               LPAR time for each type of Specialty Engine, and adds it 
               into the CPUIFATM, CPUIFLTM, CPUZIPTM totals in Interval 
               datasets, calculates the Average Number of Online Engines
               for CPs, IFAs, IFLs, and ZIPs, provides counts of the    
               number of Installed Engines of each type, cleaned up the 
               inconsistencies in the variable's names and contents,    
               and documents what variables contain what, below!        
                                                                        
               It has always been my recommendation that the datasets   
               created by ASUM70PR should be used for LPAR analysis,    
               since it avoids you having to understand the complexity  
               of the raw TYPE70PR dataset; with this enhancement, all  
               of the information is summarized, and you have four ways 
               of analysis with the four output datasets created.       
                                                                        
              -ASUM70PR is enhanced with new variables for IFL LPARs and
               consistent contents in the CPUxxxTM total variables, and 
               the HiperDispatch Parked Time SMF70PAT and Wait SMF70WST 
               are kept for each LPAR in all four datasets.  If SMF70PAT
               is non-zero, i.e., engines were parked, the SMF70ONT LPAR
               Online Up Time, and the LPAR Wait Time SMF70WST are each 
               reduced by the Parked Time.                              
                                                                        
              -The datasets ASUM70LP and ASUMCELP contain an observation
               for each LPARNAME, with a single set of variable names   
               for each INTERVAL (that you set in your ASUM70PR member).
               -ASUM70LP is created per SYSTEM, with each system's view 
                of the resources consumed by ALL of the LPARs seen by   
                that SYSTEM, so there will be replicated/repeated data  
                for each LPARNAME when you process SMF/RMF data from    
                multiple systems.                                       
               -ASUMCELP is created per CECSER with a single observation
                for each LPARNAME for each INTERVAL.                    
                In both of the per-LPARNAME datasets, ASUM70LP/ASUMCELP,
                IFL LPARs are measured in these new variable names:     
                  NRIFLCPU='INSTALLED*IFL*ENGINES'                      
                  IFLACTTM='IFL*PROCESSORS*CPU*ACTIVE*TIME'             
                  PCTIFLBY='IFL*PERCENT*CPU*BUSY'                       
                  IFLCPUS ='IFL*AVERAGE*ONLINE*CPU COUNT'               
                  IFLUPTM ='IFL*PROCESSORS*UP*TIME'                     
                  IFLPATTM='IFL*PARKED*PAT*TIME'                        
                  IFLWSTTM='IFL*PROCESSORS*WST*TIME'                    
                As these datasets are per-LPARNAME their CPU active time
                in variables IFAACTTM, IFLACTTM, and ZIPACTTM, do not   
                contain the Physical Engine CPU times.                  
                                                                        
              -The datasets ASUM70PR and ASUMCEC contain an observation 
               for each interval, with a set of variables for the totals
               and 60 separate sets of LPnAAAAA variables with resource 
               usage for each LPARNAME.                                 
               -ASUM70PR is created per SYSTEM, with each system's view 
                of the resources consumed by ALL of the LPARs seen by   
                that SYSTEM, so it, too, will have replicated/repeated  
                data when you process data from multiple systems.       
               -ASUMCEC is created per CECSER with a single observation 
                for each INTERVAL.                                      
                Since ASUM70PR/ASUMCEC are interval summaries across ALL
                LPARs, the total-CPU-time variables now consistently    
                include the Physical LPAR CPU time; previously, only the
                CPUACTTM for CP engines included the Physical time.     
                And the Physical CPU time for each engine type are now  
                available in ICFPHYTM, IFAPHYTM, IFLPHYTM, and ZIPPHYTM.
                                                                        
                Those 60 sets of per-LPAR LPnAAAAA variables have these 
                new variables for each LPAR's IFA, IFL and ZIP usage:   
                  LPnIFATM='LPAR  n*IFA*DISPATCH*TIME'                  
                  LPnIFUTM='LPAR  n*IFA*UP*TIME'                        
                  LPnIFKTM='LPAR  n*IFA*PARKED*TIME'                    
                  LPnIFWTM='LPAR  n*IFA*WST*TIME'                       
                                                                        
                  LPnILATM='LPAR  n*IFL*DISPATCH*TIME'                  
                  LPnILUTM='LPAR  n*IFL*UP*TIME'                        
                  LPnILKTM='LPAR  n*IFL*PARKED*TIME'                    
                  LPnILWTM='LPAR  n*IFL*WST*TIME'                       
                                                                        
                  LP1ZIPTM='LPAR  n*ZIP*DISPATCH*TIME'                  
                  LP1ZIUTM='LPAR  n*ZIP*UP*TIME'                        
                  LP1ZIKTM='LPAR  n*ZIP*PARKED*TIME'                    
                  LP1ZIWTM='LPAR  n*ZIP*WST*TIME'                       
                                                                        
              -If you have IFLs, many "Missing Values" messages will be 
               printed on the SAS log, but they are harmless; IFL LPARs 
               have missing values for all of the old CP variables.     
                                                                        
                                                                        
                              ASUM70LP/ASUMCELP - Per-LPARNAME Variables
                                                                        
                               ============ Engine Type =============   
                               CP      IFA      IFL      ZIP      ICF   
       Metric:                                                          
       Installed Engines    PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
       Avg Online Engines   LPARCPUS IFACPUS  IFLCPUS  ZIPCPUS          
       CPU Busy Time        LCPUPDTM IFAACTTM IFLACTTM ZIPACTTM         
       Percent CPU Busy     PCTLPBY  PCTIFABY PCTIFLBY PCTZIPBY         
       Online Total Time    LPARDUR  IFAUPTM  IFLUPTM  ZIPUPTM          
       Parked Time          SMF70PAT IFAPATTM IFLPATTM ZIKPATTM         
       Wait State Time      SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM         
                                                                        
       ASUM70LP Sorted BY list:                                         
          SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER LPARNAME LPARNUM 
       ASUMCELP Sorted BY list:                                         
          CECSER STARTIME SHIFT LPARNAME LPARNUM                        
                                                                        
                                                                        
                              ASUM70PR/ASUMCEC  - Per-Interval Variables
                                                                        
                               ============ Engine Type =============   
                               CP      IFA      IFL      ZIP      ICF   
       Metric:                                                          
       Installed Engines    PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
       Avg Online Engines   LPARCPUS IFACPUS  IFLCPUS  ZIPCPUS          
       CPU Busy Time        CPUACTTM CPUIFATM CPUIFLTM CPUZIPTM         
       Percent CPU Busy     PCTLPBY  PCTIFABY PCTIFLBY PCTZIPBY         
       Online Total Time    LPARDUR  IFAUPTM  IFLUPTM  ZIPUPTM          
       Parked Time          SMF70PAT IFAPATTM IFLPATTM ZIKPATTM         
       Wait State Time      SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM         
                                                                        
       ASUM70PR Sorted BY list:                                         
          SYSPLEX SYSTEM &MXGSYSN STARTIME SHIFT CECSER;                
       ASUMCEC  Sorted BY list:                                         
          CECSER STARTIME SHIFT;                                        
                                                                        
                                                                        
              -PDB.TYPE70PR dataset was also enhanced with the counts   
               and CPU Active time for all four specialty engines for   
               each LCPUADDR, with these new or updated variables:      
                 NRICFCPU NRIFACPU NRIFLCPU NRZIPCPU  total engines     
                 ICFACTTM IFAACTTM IFLACTTM ZIPACTTM  CPU this LCPUADDR 
                                                                        
              -Validation notes.  Using PROC COMPARE can often identify 
               differences, but comparing across this change can cause  
               lots of "false positives", especially in the count of the
               Specialty Engine NRIFACPU,NRZIPCPU,NRICFCPU,NRIFLCPU as  
               they sometimes wrong or always missing in prior PDBs.    
               Small changes are expected in the CPUxxxTM for Specialty 
               Engines because their PHYxxxTM is now included.          
               And the xxxUPTM "Uptime" variables are now differently   
               calculated, as the actual Online Time, rather than the   
               old values of NRxxxCPU*DURATM.                           
   Thanks to Robert Hamilton, Fifth Third Bank, USA.                    
   Thanks to Zhan Wang, AIG, USA.                                       
                                                                        
Change 27.075  Cosmetic.  For Offline LPARS (LPARCPUX=0) these variables
VMAC7072       in PDB.TYPE70PR:  LCPUADDR SMF70CIX SMF70ONT NRCIXGT0    
Apr 23, 2009   could have non-missing values.  Now, all are set missing.
               Unchanged, but noted: SMF70CIN is blank when LPARCPUX=0. 
                                                                        
Change 27.074  Group Capacity datasets ASUM70GC & ASUM70GL were wrong if
VMXG70PR       multiple SYSTEMs data was in TYPE70PR; each SYSTEM has an
Apr 23, 2009   observation with repeated data for each LPARNAME that was
               being summed for each Group Name.  This change selects a 
               single system per interval for the revised summation.    
               It has been observed in the data and in IBM RMF reports  
               that actual Group MSU used, LPARMSU, can exceed SMF70GMU,
               the Maximum License Units of the Group, causing PCTGCUSE,
               the Percent of Group Capacity Used, to exceed 100%.      
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.073  Variable EVENTIME in data set TSMACCT was wrong; the YYYY
VMACTSMA       INPUT function was revised to use informat 4.            
Apr 22, 2009        YYYY=INPUT(SUBSTR(DATECH,7,4),4.);                  
   Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.           
                                                                        
Change 27.072  Updates for VTCS subtypes of the STC/STK User SMF record.
FORMATS       -Format $MGSTCCT adds 2000MB and 4000MB values.           
VMACSTC       -Format $MGSTCMN adds MOUNT ANSI SCRATCH VTV value.       
Apr 22, 2009  -Dataset STCVSM18 variables STC18CTP and STC18MT were not 
               input for the longer length segment, STC18CTP was not    
               kept, and all three CTP variables are now length $2 and  
               correctly formatted.                                     
              -Formats $MGSTCMN and $MGSTCCT were updated with new      
               values for 2000MB and 4000MB cartridges, and for         
               ANSI Label Mounts, respectively.                         
   Thanks to  Davide Marone, SGS S.p.a. ITALY                           
   Thanks to  Carlo Gavinelli, SGS S.p.a. ITALY                         
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.                  
                                                                        
Change 27.071 -Major enhancement: all MXG-provided VMXGSUM-using summary
ANAL88         programs (e.g. ASUMs, ANALs, TRNDs) will NOT fail if your
ANALAVAI       input data has DROPed variables, if you simply specify   
ANALCACH         %LET KEEPALL=NO;                                       
ANALCISH       in your //SYSIN.  KEEPALL=NO causes VMXGSUM to determine 
ANALCNCR       what output variables are needed, and thereby prevents   
ANALHTML       the VARIABLE NOT FOUND condition when you have DROPed    
ANALPKGS       variables to reduce the size of your PDB dataset, which  
ANALPROG       is what happens with the default of KEEPALL=YES.         
ANALSTC                                                                 
ANALUSS        The default is KEEPALL=YES, because the KEEPALL=NO logic 
ASUM23         would be expensive if applied to the hundreds of VMXGSUM 
ASUM42DS       invocations that are internal to MXG processing, but its 
ASUM94         cost is insignificant for a single execution, and it is  
ASUMCACH       ONLY needed when you know you have DROPed variables.     
ASUMCICS                                                                
ASUMCICT      -All of the summary programs listed in this change now    
ASUMCICX       specify KEEPALL=&KEEPALL, in their %VMXGSUM invocation.  
ASUMCIMS      -And where needed, a KEEPIN= was added, but KEEPIN does   
ASUMDB2A       not get used unless KEEPALL=NO is in effect, so there is 
ASUMDB2B       no adverse effect of the KEEPIN= protection.             
ASUMDB2G      -VMXGINIT sets KEEPALL=YES as the GLOBALed default value. 
ASUMDB2P       The old default NO was used only in TRNDRMFI, which now  
ASUMFRYE       has KEEPALL=NO explicitly in its %VMXSGUM statement.     
ASUMJOBS      -VMXGSUM now has KEEPALL=&MXGKEEP in its definition, in   
ASUMMIPS       place of a hard-coded KEEPALL=YES, and MXGKEEP=YES is set
ASUMNTIN       in VMXGINIT. This value is only used when the %VMXGSUM   
ASUMSMFI       invocation did not specify a KEEPALL value, and this is a
ASUMTMNT       "just in case" option, to use MXGKEEP, that I doubt will 
ASUMV11        be needed, but is nice to have for testing.              
ASUMV14                                                                 
ASUMVMON       So, how expensive is KEEPALL=NO for my QA stream?        
ASUMVTVM                                                                
ASUMVMNT       The QA tests with all INFILEs reading zero length files  
BLDNTPDB       invokes VMXGSUM 442 times with these comparisons         
BUIL3005                                                                
BUILD005            KEEPALL             YES        NO                   
BUILD006            DATA Steps         3567      4924                   
CICSSTAT            PROC Steps        11564     13454                   
DAILYDSR            Elapsed mmss      11:44     30:14                   
DALYTAPE            CPU mmss           6:28     20:31                   
GRAFWLM                                                                 
MNTHDB2S       However, the CPU increase of 900 seconds with KEEPALL=NO,
SPUNJOBS       for a total of 442 invocations, is only 2 seconds for a  
TRNDDB2P       single execution, well worth that cost to permit you to  
TRND23         use the summary program with reduced input.              
TRND70                                                                  
TRND70SH                                                                
TRND94                                                                  
TRNDCACH                                                                
TRNDCEC                                                                 
TRNDDB2A                                                                
TRNDDB2B                                                                
TRNDDB2G                                                                
TRNDDB2S                                                                
TRNDDB2X                                                                
TRNDNTIN                                                                
TRNDNTLD                                                                
TRNDRMFI                                                                
TRNDTALO                                                                
USMFRATE                                                                
UTILCONT                                                                
UTILRMFI                                                                
VMXGCAPT                                                                
VMXGCICI                                                                
VMXGINIT                                                                
VMXGRESP                                                                
VMXGRMFI                                                                
VMXGSUM                                                                 
VMXGTPFI                                                                
WEEKCEC                                                                 
Apr 20, 2009                                                            
                                                                        
Change 27.070  Variable DESCR existed in 4 different XAM datasets, with 
VMACXAM        3 different lengths, with only the first 12 bytes in     
Apr 16, 2009   XMHSTMEM dataset, where the field is split into 2 pieces.
               Variable DESCR is now $16 in both XMTIFTB and XMHSTMEM   
               datasets, the extra four bytes are appended in XMHSTMEM, 
               it is renamed DESCRDSK with length $40 in XMHSTDSK, and  
               it is renamed DESCRTCP with length $128 in XMTCPSYS.     
   Thanks to Roger Stock, Boston University, USA.                       
                                                                        
Change 27.069  Serena's Ultimizer user SMF record moved subtype 2 and 3 
VMACULTM       into the left byte of the two-byte subtype field, and in 
Apr 15, 2009   the right byte for subtype 1 records, which was not the  
               expected location of subtype, but now is supported. The  
               DSECT for R310 does not document this design. And the    
               READTIME field is always missing (hex zeros) in the 2/3  
               records but is populated in the subtype 1 VSAM record.   
   Thanks to Robb Hermes, Sentry Insurance, USA.                        
                                                                        
Change 27.068  Optional CICSTRAN USERCHAR field was limited to 200 bytes
IMACICDU       due to that ancient SAS V6 limit on character variables. 
Apr 15, 2009   That field can now be up to 32000 bytes.  The IMACICDU   
               member is an internal member that would not normally have
               been tailored by users.                                  
   Thanks to Henrik Lange, Nordic Processor, NORWAY.                    
                                                                        
Change 27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.:   
EXTY83LD       New dataset created:                                     
FORMATS                                                                 
IMAC83           dddddd   Dataset   Description                         
VMAC83           TY83LD   TYPE83LD  TY83LD: LDAP AUDITING               
VMXGINIT                                                                
Apr 13, 2009                                                            
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.               
                                                                        
====== Changes thru 27.066 were in MXG 27.02 dated Apr 13, 2009=========
                                                                        
Change 27.066  The "owner" variables in TYPE77 were labeled as "CURRENT"
VMAC77         but they are actually the owners/system/etc at the time  
Apr 13, 2009   of maximum contention.  The revised labels now are:      
                  CURROWN ='NUMBER OF*OWNERS*WHEN AT*MAX CONTENTION'    
                  CURRWAIT='NUMBER OF*WAITERS*WHEN AT*MAX CONTENTION'   
                  JOBOWN1 ='NAME OF*OWNER#1*WHEN AT*MAX CONTENTION'     
                  JOBOWN2 ='NAME OF*OWNER#2*WHEN AT*MAX CONTENTION'     
                  JOBWANT1='NAME OF*WANTER#1*WHEN AT*MAX CONTENTION'    
                  JOBWANT2='NAME OF*WANTER#2*WHEN AT*MAX CONTENTION'    
                  SYSOWN1 ='SYSTEM OF*OWNER#1*WHEN AT*MAX CONTENTION'   
                  SYSOWN2 ='SYSTEM OF*OWNER#2*WHEN AT*MAX CONTENTION'   
                  SYSWANT1='SYSTEM OF*WANTER#1*WHEN*MAX CONTENTION'     
                  SYSWANT2='SYSTEM OF*WANTER#2*WHEN*MAX CONTENTION'     
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 27.065  Cosmetic, to eliminate MXGWARN messages from VMXGOPTR.   
BUILD001       Change 27.051 corrected VMXGOPTR so the current value of 
BUILD005       an option would be used, but invocations of VMXGSUM could
BUIL3001       unexpectedly modify the option; this change pairs each of
BUIL3005       the VMXGOPTR to reset (VALUE=ORIGINAL) prior to VMXGSUMs.
SPUNJOBS       Without this change, the (usually) harmless message      
Apr 12, 2009       MXGWARN: STORED VALUE OF DKROCOND IS MXG;            
               could have been printed on the SAS log.                  
                                                                        
Change 27.064  SYSLDSN from the IEC501I message could be a number rather
VMACTMNT       than a DSNAME; the WORDS array did not parse correctly if
Apr 11, 2009   there were adjacent commas for un-populated fields in the
               SYSLOG message text.  The TRANWRD(x,',,',', ,') function 
               was used to insert a blank between adjacent commas, once 
               I found that TRANWRD and TRANSLATE functions are quite   
               inconsistent, with their syntax reversed:                
                 TRANSLATE(argument,to,from);                           
                 TRANWRD  (argument,from,to);                           
   Thanks to MP Welch, SPRINT, USA.                                     
                                                                        
Change 27.063  Decoding SYSLOG MSGID=IEC205I in TMNT Subtype 8 record   
VMACTMNT       adds variables STEPNAME SYSLBLKS SYSLENCR to TYPESYMT    
Apr 11, 2009   dataset to identify Encrypted Tapes; SYSENCR will have   
               the text  KL1CD:L,LK2CD:L  for encrypted tapes (where    
               H:='HASH' or L:LABEL').  The ASMTAPEE monitor program    
               will be updated later to write IEC205I in TMNT Subtype 8 
               record, and a later update to ASUMTAPE will be needed to 
               complete this enhancement.                               
   Thanks to Bruce Gillespie, First American Reinsurance, USA.          
                                                                        
Change 27.062 -TYPE42 Updates for VSAM RLS "ABOVE THE BAR" statistics,  
EXTY42D3       added by IBM long ago but overlooked by MXG, adds six new
EXTY42D4       datasets and re-labels the six existing "BELOW THE BAR": 
EXTY42S3        TY42S1    TYPE42S1  VSAMRLS SPLEX SC BELOW THE BAR      
EXTY42S4        TY42S2    TYPE42S2  VSAMRLS SC CF SYS BELOW THE BAR     
EXTY42X3        TY42S3    TYPE42S3  VSAMRLS SPLEX SC ABOVE THE BAR      
EXTY42X4        TY42S4    TYPE42S4  VSAMRLS SC CF SYS ABOVE THE BAR     
IMAC42          TY42D1    TYPE42D1  VSAMRLS SPLEX DATASET BELOW BAR     
VMAC42          TY42D2    TYPE42D2  VSAMRLS DATASET CF SYS BELOW BAR    
VMXGINIT        TY42D3    TYPE42D3  VSAMRLS SPLEX DATASET ABOVE BAR     
Apr  9, 2009    TY42D4    TYPE42D4  VSAMRLS DATASET CF SYS ABOVE BAR    
                TY42X1    TYPE42X1  VSAMRLS BUFF MGR TOTALS BELOW BAR   
                TY42X2    TYPE42X2  VSAMRLS BUFF MGR DETAILS BELOW BAR  
                TY42X3    TYPE42X3  VSAMRLS BUFF MGR TOTALS ABOVE BAR   
                TY42X4    TYPE42X4  VSAMRLS BUFF MGR DETAILS ABOVE BAR  
              -APAR OA25559 adds two new variables S42DSRDD,S42DSRDT to 
               subtype 5 and subtype 6 records, and these variables are 
               are kept in TYPE42DS, TYPE42SR, and TYPE42VT datasets:   
                  S42DSRDD='AVERAGE*READ MS*DISCONNECT*TIME'            
                  S42DSRDT='READ*OPERATIONS*TO*DATASET'                 
                                                                        
Change 27.061  MXG 27.01 only.  A DEBUGging PUT statement at line 235   
VMAC88         PUT _N_= SUBTYPE= SMFTIME= SMF88LTD= SMF88LIT= GMT88OFF=;
Apr  8, 2009   is now deleted by this change.                           
   Thanks to Michael Creech, Lender Processing Services, Inc, USA.      
                                                                        
Change 27.060  Cosmetic.  Labels for TYPE23 BUFSZMAX and WRNSZMAX said  
VMAC23         "PERCENT", but BUFSZMAX has always been the MAX VALUE.   
Apr  8, 2009   WRNSZMAX was the Warning PERCENT thru z/OS 1.5, but in   
               z/OS 1.6 the description was changed to "VALUE", but it  
               was NOT documented in the changes in the 1.6 SMF Manual. 
               Now, both labels say VALUE rather than PERCENT.          
   Thanks to Chuck Hopf, Bank of America, USA.                          
                                                                        
Change 27.059  SMF 102 IFCID=108 variables starting at QW0108PR were not
VMAC102        input because QWT02R1N, instead of QWT02R1L (length) was 
Apr  6, 2009   tested for GE 160.  Additionally, these new variables are
               now input and kept in T102S018 dataset:                  
                 QW0108DY QW0108DP QW0108RO QW0108KD QW0108OH QW0108IW  
                 QW0108SC QW0108CC                                      
   Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.     
                                                                        
Change 27.058  Change 27.015 enhanced VMACSMF to test IF SUBTYPE GT 255 
VMACSMF        because some user SMF records store their subtype in the 
Apr  6, 2009   left byte of the two byte field.  MXG printed an ERROR   
               message, and used the left byte as the subtype number,   
               but this ERROR message was not documented in that text.  
               I also failed to protect the optional BMC CICS Statistics
               SMF 110 records that are written as subtype=2818 or 47874
               ('BB02'x,'0B02'x) are really subtype=2 STID=200 to 205.  
               IF you had enabled the optional IMACICBB member to decode
               these optional STID's, then their CICSBBxx datasets would
               have had no observations, plus the new MXG ERROR message.
   Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.     
                                                                        
Change 27.057  MXG 27.01.  DCOLLECT DCOLVOLS the volume size variables  
VMACDCOL       DCVALLOC DCVFRESP DCVLGEXT DCVVLCAP are small by 1024.   
Apr  3, 2009   Change 27.034 for EAV support mislocated the code that   
               multiplies the KB value by 1024 so it was ONLY executed  
               if the record is the longer, EAV-updated, volume record. 
   Thanks to Frank Lund, EDB, NORWAY.                                   
   Thanks to Chris A. Hughes, University of Georgia, USA.               
                                                                        
Change 27.056  Support for Control-D "Decollating" SMF record, which is 
EXTYCTCD       a new, different SMF record than the Control-D TYPECTLD  
IMACCTCD       support.  This new record creates dataset CONTROCD.      
TYPECTCD                                                                
TYPSCTCD                                                                
VMACCTCD                                                                
VMXGINIT                                                                
Apr  2, 2009                                                            
   Thanks to  Davide Marone, SGS S.p.a. ITALY                           
   Thanks to  Carlo Gavinelli, SGS S.p.a. ITALY                         
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.                  
                                                                        
Change 27.055  OBJECTSTAR (a/k/a HURON) INPUT STATEMENT EXCEEDED RECORD 
VMACHURN       ERROR for short Subtype 13 record; record should have    
Apr  2, 2009   3123 bytes for 26 segments, but LENGTH is only 3110.     
               MXG prints message and hex dump of first 3 instances.    
   Thanks to David Stone, TESCO, ENGLAND.                               
                                                                        
Change 27.054  MXG 27.01 ONLY, CRITICAL ERROR FOR SMF 42 SubTypes 1-20. 
VMAC42         I really botched this one.  A partial statement was left 
Mar 31, 2009   (IF SUBTYPE GT 20 THEN) ahead of IF OFFPROD GT 0 THEN DO,
               preventing INPUT of STARTIME, ENDTIME & DURATM variables 
               for these datasets that are created from subtypes 1-20:  
                 TYPE4220 TYPE4237 TYPE42AD TYPE42AU TYPE42CC TYPE42CU  
                 TYPE42CV TYPE42D1 TYPE42D2 TYPE42DS TYPE42EX TYPE42L1  
                 TYPE42L2 TYPE42NF TYPE42NU TYPE42P1 TYPE42P2 TYPE42P3  
                 TYPE42S1 TYPE42S2 TYPE42SC TYPE42SR TYPE42TO TYPE42VL  
                 TYPE42VS TYPE42VT TYPE42X1 TYPE42X2 TYPE42XR TYPE42XV  
               Not only are STARTIME, ENDTIME, and DURATM missing values
               but also variables that are calculated from DURATM, such 
               as, in TYPE42DS, CACHRATE, DASDMPL, and DASDRATE also are
               missing values.                                          
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.053 -CICS Statistics STID=108 in CICS/TS 3.2 added 48 bytes as
FORMATS        part of the 284 bytes INPUT in MXG 27.01 for CICS/TS 4.1.
UTILEXCL       Now, the first 48 are INPUT then the other 236 are INPUT.
VMAC110        STID=108 DFHSORTS data is output in dataset CICTCPIP.    
Mar 31, 2009  -CICS Statistics STID=31 inconsistent length/LDBNRDSN was 
Apr  1, 2009   only partially circumvented in Change 26.052, as it used 
Apr  2, 2009   re-calculated LDRNSKIP=(STILEN-104)/44 for segment count 
APR  4, 2009   only if LDRNSKIP was GT LDBNRDSN, causing the prior count
               to be used when LDRNSKIP=LDBNRDSN.  Since it is now clear
               that LDBNRDSN is the number of POPULATED segments, but is
               NOT the number of segments, LDRNSKIP=(STILEN-104)/44 is  
               always used to control the number of segments read in.   
               Existing test for LDBDSNAM GT ' ' causes only populated  
               segments to be output in the CICLDBDS statists dataset.  
              -In CICSTRAN dataset, back in 1994, Change 12.166 noted   
               that TASKNR (IBM TRANNUM) is not always a packed decimal,
               and can contain four-character-in-EBCDIC values:         
                     bytes     old TASKNR    description                
                   1st   2-4   (decimal)                                
                  '00'X,'III'  13,224,393   SYSTEM INITIALIZATION TASK  
                  '00'X,'J00'  13,758,704   JOUR CONTROL, JOURNAL=00    
                  '00'X,'J99'  13,761,017   JOUR CONTROL, JOURNAL=99    
                  '00'X,'JBS'  13,746,914   JOURNAL CONTROL             
                  '40'X,'TCP'  14,926,807   TERMINAL CONTROL            
               but that change only stored the right 3-bytes as a large 
               decimal value when a character value was found, without  
               decoding or mapping that strange TASKNR value.  And, that
               change was not implemented in UTILEXCL logic, causing the
               TASKNR to be a missing value for these character values  
               when IMACEXCL built by UTILEXCL was used.  Now, if TASKNR
               is not a valid packed decimal value, the full four-byte  
               field is input as binary, and TASKNR is FORMATed with new
               MG110TN format that decodes those binary values to print 
               the actual 'III', 'Jnn', 'JBX', or 'TCP' text value,     
               right justified to align with numeric values of TASKNR.  
               And UTILEXCL was updated with this revised logic.        
                                                                        
               Because TASKNR is the only packed decimal field in the   
               CICSTRAN segment the "vanilla" VMAC110 tested IF TASKNR=.
               to detect misalignment (that is how MXG finds EXCLUDEd   
               fields or optional data segments), but with this change, 
               TASKNR can never be a missing value, so the new test is  
                  IF TASKNR EQ 0 OR                                     
                  (TASKNR GT 99999 AND COMPRESS(PUT(TASKNR,MG110TN.))   
                    NOT IN : ('III','TCP','JBS','J') ) THEN DO;         
               The original test for TASKNR=. could not be used when the
               IMACEXCL was in use, since the site might have EXCLUDEd  
               the TASKNR field, but since this test is now valid even  
               if TASKNR is excluded, this misalignment test was moved  
               so it is always applied, even when IMACEXCL is used.     
   Thanks to Paul Volpi, UHC, USA.                                      
   Thanks to Jon Keister, Caremark, USA.                                
                                                                        
Change 27.052  Updates to PMACC01 DB2PM-like report had a number of     
ANALDB2R       blank values introduced in MXG 26.26, which also changed 
Mar 28, 2009   the format of some durations (Class 7 for example) to    
               match the DB2PM printed time format.                     
   Thanks to Paul Billick, QVC Inc, USA.                                
                                                                        
Change 27.051 -%VMXGOPTR is used internally in MXG to alter the user's  
VMXGOPTR       options, which are then reset to their original value.   
VMXGSUM        For example, in VMXGSUM, we must have OBS=MAX for the    
Mar 27, 2009   internal parsing DATA steps, so we store your OBS value, 
Apr  2, 2009   change it to OBS=MAX for our purpose, and then restore   
Apr 13, 2009   your ORIGINAL option value.  But if %VMXGOPTR was then   
Apr 29, 2009   invoked a second time for that same option, we used your 
               ORIGINAL value instead of your CURRENT value.  Now, each 
               time %VMXGOPTR is invoked with NEWVALUE not ORIGINAL, we 
               store the current value of that option, so that when the 
               resetting %VMXGOPTR invocation with ORIGINAL, we then can
               reset that option to the LAST stored value.              
              -After ORIGINAL has been reset, the text "MXG" is stored. 
               If a subsequent ORIGINAL invocation finds that "MXG", a  
               "MXGWARN STORED VALUE FOR xxxxxx IS MXG" prints to alert 
               you that you have un-paired %VMXGOPTR invocations.  This 
               might not be a problem, depending on your intended use of
               %VMXGOPTR.                                               
              -VMXGSUM required change because it did not have matched  
               pairs of %VMXGOPTR invocations.                          
              -It is VERY unlikely any MXG users have actually used the 
               %VMXGOPTR macro, and even less likely that anyone used   
               that retained value of the original %VMXGOPTR design,    
               but, technically, this is an UNCOMPATIBLE change.        
              -Note that if you should use %VMXGOPTR, that you need to  
               use it exclusively to change options; if you interleave  
               %VMXGOPTR and OPTIONS statements, your results might be  
               unexpected.                                              
                                                                        
               This change was precipitated by a simple user program:   
                  OPTIONS OBS=0;                                        
                  %INCLUDE SOURCLIB(TYPEDB2);                           
                  RUN;                                                  
                  OPTIONS OBS=MAX;                                      
                  %INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);                  
               that causes ASUMCICX to fail, because the internal       
               %VMXGOPTR in VMXGSUM reset the option OBS=0, which was   
               the last value it stored, and so PDB.CICS built by the   
               ASUMCICX had 0 OBS.                                      
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.050  Support for LPAR NMON data for RAWLPAR and RAWCPUTOTAL   
EXNMONRC       objects create two new datasets:                         
EXNMONRL         DDDDDD  DATASET   DESCRIPTION                          
IMACNMON         NMONRC  NMONRAWC  NMON RAW CPU                         
VMACNMON         NMONRL  NMONRAWL  NMON RAW LPAR                        
VMXGINIT                                                                
Apr 13, 2009                                                            
   Thanks to Peter Turner, Saint George Bank, AUSTRALIA.                
                                                                        
Change 27.049  %VGETSYSI for z/OS only, returns global macro variables  
VGETSYSI       MXGSYSID and MXGSUSEC which contain the SYSTEM on which  
Mar 26, 2009   SAS is executing, and the SU_SEC value for that system.  
   Thanks to Chuck Hopf, Bank of America, USA.                          
                                                                        
Change 27.048  Variable TAPEDRVS in PDB.ASUMTALO is the cross product of
ASUMTALO       allocated tape drives times their duration, so it can be 
TRNDTALO       a large and confusing number.  New variable AVGDRIVE is  
Mar 26, 2009   now added to PDB.ASUMTALO with the average number of tape
               drives that are allocated. TRNDTALO was also updated with
               the new variable.                                        
   Thanks to Graham Cornwell, DDS, UK.                                  
   Thanks to Craig Heron, DDS, UK.                                      
                                                                        
Change 27.047 -MXG 27.01 only.  The EAV support added in Change 27.034  
VMACDCOL       was misaligned, i.e., it was incorrect.  This change has 
Mar 25, 2009   now been validated with an EAV volume's DCOLLECT record. 
              -The above error also mis-located the previous tests for  
               DCVFLAG1 and DCVERROR, causing all of the flag variables 
               created from them to be blank.                           
               Only the DCOLVOLS dataset was in error in 27.01.         
               But see also Change 27.057.                              
   Thanks to Dr. H. Pat Artis, Performance Associated, USA.             
   Thanks to Brian Currah, Independent Consultant, CANADA.              
   Thanks to Dan Case, Mayo Clinic, USA.                                
                                                                        
Change 27.046  Major updates to D,V,X records created by EDGHSKP utility
VMACEDGR       add new variables to EDGRDEXT, EDGRVEXT, and EDGRXEXT    
Mar 25, 2009   dataset.  These extensive changes have been validated    
Apr  2, 2009   with z/OS 1.7, 1.8, 1.9, and 1.10 RMM records.           
Apr  4, 2009  -The RMM EDGRDEXT final segment test for GE 95 should have
               been GE 31. RVMVDSN1,RVDSTBIN,RVDSTMED,RVVVOL1 do not    
               exist in the DEXT record; these fields were added in 2003
               in Change 21.158, but I must have misread the doc!       
               Also, the RDEXPDT and RDEXPDTO date fields were not      
               converted to SAS date values.                            
              -Support for APAR OA22132 adds variables to D/V/X records:
                 RDFACTOR='SPACE/SIZE*FACTOR'  (MB in EBCDIC)           
                 RDSIZE  ='RDSIZE'                                      
               Variable RDSIZE is converted by RDFACTOR and formatted   
               with MGBYTES to show size in KB/MB/GB/ etc  Note that    
               RDSIZE will be a missing value when that 10-byte field   
               is blanks, which does occur in many (old?) records.      
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.045 -These QISTWFxx variables in DB2STATS were wrong because  
VMACDB2        MXG de-accumulated them, but are not accumulated values: 
Mar 20, 2009     QISTW04K QISTW32K QISTWF04 QISTWF32 QISTWFCK QISTWFCU  
Mar 24, 2009     QISTWFMU QISTWFMX                                      
Apr 11, 2009  -Variables QWACIXLT and QWAXIXLT were incorrectly divided 
Apr 19, 2009   by 4096; they are in microseconds, not TOD clock units.  
              -Variables QSSTGETR, QWSDARIR, Q9STCTX1 were deaccumulated
               twice, QSSTGETE was not deaccumulated.                   
              -Dataset DB2STATS variables for Star Joins are marked in  
               the DSECT as "SERVICEABILITY", but are added             
              -Star Join statistics variables are added to DB2STATS:    
                 QISJTRY ='ALLOCATION*REQUESTS IN*STAR JOIN*POOL'       
                 QISJFAIL='FAILURES*CAUSED BY*FULL*STAR JOIN*POOL'      
                 QISJSIZE='CURRENT*SIZE OF*STAR JOIN*POOL (MB)'         
                 QISJMAX ='MAXIMUM*SIZE OF*STAR JOIN*POOL (MB)'         
               They are marked "SERVICEABILITY" in the current DSECT.   
   Thanks to Lori Masulis, Fidelity Systems, USA.                       
   Thanks to Rachel Holt, Fidelity Systems, USA.                        
   Thanks to Terry L. Berman, DST Systems, USA.                         
   Thanks to Steve Wood, DST Systems, USA.                              
                                                                        
Change 27.044  Variable CPCFNAME was defined as $10 in VMXG70PR but it  
VMXG70PR       contains only $8, and its length in RMFINTRV is also $8. 
Mar 20, 2009   Since RMFINTRV is created by default in BUILDPDB, I chose
               to change the length in the ASUM70PR datasets to avoid   
               conflicts.                                               
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 27.043 -HP OpenView on AIX variables RELEASE, SOFTWARE, SYSID    
ADOCMWAI       were wrong or had no values with the current REPORT macro
ADOCMWSU       (which is now in ADOCMWAI, so you can use that command to
VMACMWAI       extract the data in the format expected by the revised   
VMACMWSU       VMACMWAI, and similarly, VMACMWSU/ADOCMWSU members are   
Mar 18, 2009   updated for HP OpenView on Sun, with ADOCMWSU containing 
Apr 10, 2009   the REPORT macro to match the VMACMWSU code.             
   Thanks to Albert Jacobs, KBC ICT Services NV, BELGIUM.               
                                                                        
====== Changes thru 27.042 were in MXG 27.01 dated Mar 17, 2009=========
                                                                        
Change 27.042  Support for ASG TMON for CICS V3.2 was in MXG since 25.11
VMACTMO2       for important MONITASK dataset, and most other datasets, 
Mar 17, 2009   although MONIIWT & MONITDQ datasets require this change, 
               as their offsets were relocated by insertion of the new  
               fields for the MONISYST and MONITDQ datasets.            
              -Dataset MONITASK, new variables:                         
                 TADFHAP1 TADFHAP2                                      
              -Dataset MONIPA, new variables:                           
                 PACMDLYC PACMDLYT PADFHAP1 PADFHAP2 PAICSCC            
                 PAICSCD  PAICSRC  PAICSRD  PAL9CPUC PAL9CPUT           
                 PAPCDCC  PAPCDLL  PAPCDRL  PAPCLCC  PAPCRCC            
                 PAPCRCL  PAPCXCC  PAPGBCC  PAPGCCC  PAPGCTC            
                 PAPGGCC  PAPGGCL  PAPGMCC  PAPGPCC  PAPGPCL            
                 PASTDLYC PASTDLYT PAWBBOC  PAWBI1C  PAWBIRC            
                 PAWBIWC  PAWBO1C  PAWBOSC  PAWBPRC  PAWBRDL            
                 PAWBROC  PAWBWDL  PAWBWOC  PAX8CPUC PAX8CPUT           
                 PAX9CPUC PAX9CPUT PAXTDLYC PAXTDLYT                    
              -Dataset MONISYST, new variables:                         
                 TIMQSCLC TIMQSCLT TIMQSGTC TIMQSGTT TIMQSIQC           
                 TIMQSIQT TIMQSOPC TIMQSOPT TIMQSP1C TIMQSP1T           
                 TIMQSPTC TIMQSPTT TIMQSSTC TIMQSSTT TIRECICT           
              -Dataset MONITDQ, new variables:                          
                 TDRECICT                                               
                                                                        
Change 27.041  The example to summarize PDB.SMFINTRV into PDB.ASUMSMFI  
ASUMSMFI       was enhanced to specify the SYNC59 argument, with the    
Mar 17, 2009   default SYNC59=NO, so there would be no change to the    
               summarized output (until you change NO to YES!).         
   Thanks to Larry Stahl, IBM Global Services, USA.                     
                                                                        
Change 27.040  Dataset TYPE78PA (Private Area for Monitored Jobs) ID=78 
VMAC78         Subtype 2 INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR   
Mar 17, 2009   was due to MXG miscoding the new-in-z/OS 1.10 Memory     
               Objects.  COMOHWM,LGMOHWM,SHMOHWM,TOFRHWM,TOMOHWM vars   
               were INPUT but never existed and are removed.  Labels for
               their MIN and MAX values are changed to FRAMES instead of
               BYTES, and their MGBYTES formats are removed.            
   Thanks to Scott Chapman, American Electric Power, USA.               
                                                                        
Change 27.039  Change 26.183 is wrong; it removed the QBAC and QTXA vars
ASUMDB2P       from the summary in ASUMDB2P and TRNDDB2 code, claiming  
TRNDDB2P       those variables were not in the IFCID=239 (101 subtype 1)
VMACDB2        Package Data records starting in V7.1.  But they all DO  
Mar 16, 2009   exist in DB2ACCTP dataset in DB2 V8.1 or later, so they  
               are now restored in ASUMDB2P and TRNDDB2P summary code.  
               The QBAC and QTXA fields are only populated in DB2ACCTP  
               dataset if DB2 Accounting Trace Class 10 is enabled.     
               Those variables have ALWAYS been kept in the DB2ACCTP    
               dataset, so this only impacts users of MXG's summaries.  
   Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.        
                                                                        
Change 27.038  Change 26.183 SMF/Performance Sentry Release 3.1.4.      
VMACNTSM       A major enhancement in NTSMF adds IDPROCES and SQLVERSN  
Mar 15, 2009   to 72 SQLSERVER/MSSQL dataset, so that the individual    
               SQL Server Process can be identified.  There were also   
               37 new objects that are now supported by these new exit  
                members:                                                
                 exntdtos exntm8ca exntm8co exntm8dm exntm8dp exntm8lo  
                 exntm8md exntm8me exntm8pa exntm8pc exntm8pi exntm8pr  
                 exntm8se exntm8th exntmlca exntmlco exntmldm exntmldp  
                 exntmllo exntmlmd exntmlme exntmlpa exntmlpc exntmlpi  
                 exntmlpr exntmlse exntmlth exntqlbl exntqldf exntqlrp  
                 exntqlwg exntrpsv exntsqbt exntsqdf exntsqpl exntsqrp  
                 exntsqwg                                               
                                                                        
Change 27.037  The example in the comments to execute did not have the  
ADOC70PR         //SPIN DD UNIT=SYSDA,SPACE=CYL(1,1)                    
Mar 15, 2009   that is required by that example program.  It can be     
               a temporary dataset, because this example builds a       
               single output PDB library for analysis.  The SPIN DD     
               is only used in the RMFINTRV program to create SPINRMFI, 
               used to keep the last four hours of CPU busy for the old 
               MXG MSU4HRAV variable when RMFINTRV is created on a daily
               basis.  MSU4HRAV is actually archaic, predating the IBM  
               addition of their SMF70LAC, which should be used in place
               of MXG's MSU4HRAV.                                       
   Thanks to MP Welch, SPRINT, USA.                                     
                                                                        
Change 27.036 -Fields DBHCEUID, DBHCEUTX, DBHCEUWN are now kept in the  
VMACTMDB       TMON for DB2 TMDBBF,TMDBBG,TMDBBH, and TMDBBI datasets,  
Mar 14, 2009   and all three have any '00'X translated to blanks.       
              -Variable HSIID now formatted with MGDB2II.               
   Thanks to Ernie Amador, UC Davis Health System, USA.                 
                                                                        
Change 27.035  Previously, you could not leave SYSTEM blank in TIMETABL,
VMXGTIME       but with this revision, if ALL of your SYSTEMS are to be 
Mar 11, 2009   changed the same way, you do NOT need to fill in SYSTEM, 
               and the same for SYSPLEX.  If you have systems on        
               different time zones, then each SYSTEM or SYSPLEX must be
               in the TIMETABLE (but only those that differ from base). 
               So if you have 3 systems, 2 on local, and one on local+2,
               to convert all systems to local, only the local+2 system 
               needs to be listed in TIMETABL.                          
   Thanks to Richard Schwartz, State Street Bank, USA.                  
                                                                        
Change 27.034  Support for EAV, Extended Address Volume, devices with   
VMACDCOL       more than 65520 cylinders, introduced in z/OS 1.10, with 
Mar 11, 2009   HUGE volume sizes, 236GB (256K Cylinders) first release. 
               EAV devices are formally documented as 3390-A devices.   
               Dataset DCOLVOLS: new variables:                         
                 DCVCYLMG='EAV*INDICATOR*FLAG'                          
                 DCVDPTYP='PHYSICAL*DEVICE*TYPE'                        
                 DCVEAVOL='EAV*INDICATOR*FLAG'                          
                 DCVTRALC='ALLOCATED*TRACK*MANAGED'                     
                 DCVTRFRG='FRAGMENTATION*INDEX*TRACK*MANAGED'           
                 DCVTRFRX='FREE*EXTENTS*TRACK*MANAGED'                  
                 DCVTRFSP='FREESPACE*TRACK*MANAGED'                     
                 DCVTRLGE='LARGEST*EXTENT*TRACK*MANAGED'                
                 DCVTRPCT='PCT FREESPACE*TRACK*MANAGED'                 
                 DCVTRVLC='TOTAL CAPACITY*TRACK*MANAGED'                
                 The new Track-Managed Space or Base Addressing Space   
                 is the first 65520 cylinders (54GB), and space above   
                 that is the Extended Addressing Space.                 
                 Disk allocation in the EAS is in units of 21 cylinders.
                 Initial implementation is VSAM only, KSDS,RRDS,ESDS and
                 linear, so DB2 and zFS can use EAV volumes.            
               Dataset DCOLSC: new variables:                           
                 DSCBAKUP='ACC*BACKUP*PARM*VALUE'                       
                 DSCBUSP ='ACC*BACKUP*PARM*SPECIFIED'                   
                 DSCDSSEP='DATASET*SEPARATE*PROFILE'                    
                 DSCFLAG3='DSC*FLAG*BYTE*3'                             
                 DSCFOSL ='OAM*SUBLEVEL*1'                              
                 DSCTIER ='MULTI-TIER*SG*VALUE'                         
                 DSCTIERS='MULTI-TIER*SG*SPECIFIED'                     
                 DSCVERSN='ACC*VERSION*PARM*VALUE'                      
                 DSCVERSP='ACC*VERSIONING*PARM*SPECIFIED'               
               Dataset DCOLDC  new variables:                           
                 DDCFSDB ='SDB*IS*SPECIFIED?'                           
                 DDCFVORD='OVERRIDE*JCL*SPECIFIED?'                     
               Dataset DCOLBKUP new variables:                          
                 UBFLAG3='INFORMATION*FLAG*3'                           
                 UBNOSPH='SPHERE(NO)*PROCESSED?'                        
                 UBGVCN ='GENVSAMCOMPNAMES*PROCESSED?'                  
              -Variable UMNMIG, number of times migrated, is reserved in
               dataset DCOLMIGS.                                        
              -Doc notes:                                               
               Length of VOLUME RECORD structure still 112.             
              -Type 1415 enhancement:                                   
                -MXG Change 25.071 added variable EADSCBOK was decoded  
                 from SMF14EADSCB, in the type 5 extended information   
                 segment of the SMF type 14 and 15 records.  It means   
                 that the user program provided a valid DCBE that has   
                 EADSCB=OK.  It does NOT mean that OPEN needed this     
                 option.                                                
                 If this bit is zero, then the program did not specify  
                 EADSCB=OK on the DCBE macro. IBM suggests upgrading    
                 the program to handle 28-bit cylinders and coding      
                 EADSCB=OK.  This is to help plan for when EAV might    
                 support more types of data sets.                       
                -MXG Change 25.071 also decoded variable SMF14EAV from  
                 SMF14EXCPBAM.  This is 'Y' if the user program issued  
                 one or more instances of the EXCP or XDAP macro since  
                 the BSAM, BPAM or QSAM DCB was opened.                 
              -SMF19 enhancements added by Change 26.071, documentation:
                These existing two-byte counters describe free space for
                the entire volume.  If the value exceeds the capacity of
                the counter, it will be set to the maximum of 65535. The
                correct values will always be in SMF19EVF and SMF19TMF. 
                  MXG var  IBM name                                     
                  NRDSCBS  SMF19NDS Number of DSCBs in VTOC             
                  NRDSCB0  SMF19DSR Number of format 0 (unused) DSCBs   
                           in VTOC                                      
                  NRALTRKS SMF19NAT Number of unused alternate tracks   
                  CYLAVAIL SMF19SPC Numbers of free complete cylinders  
                  TRKAVAIL SMF19??? Number of free tracks               
                  MAXCYLS  SMF19LEX Numbers of complete cylinders in    
                                    largest free extent                 
                  MAXTRKS  SMF19??? Numbers of complete tracks in       
                                    largest free extent                 
                  NRUNEXTS SMF19NUE Number of free extents              
               New SMF19CYM variable will mean that the volume has      
                cylinder-managed space.                                 
               The following will be new four-byte unsigned counters at 
                the end of the record:                                  
                  SMF19SDS Number of DSCBs in VTOC                      
                  SMF19SL0 Number of format 0 (unused) DSCBs in VTOC    
               The following 5 new counters apply to the whole volume.  
                  SMF19SUC Number of free complete cylinders            
                  SMF19SUT Number of additional free tracks             
                  SMF19SNC Number of complete cylinders in largest free 
                           extent                                       
                  SMF19SNT Number of additional free tracks in largest  
                           free extent                                  
                  SMF19SNE Number of free extents                       
               The following five new counters apply only to the        
               track-managed space on the volume. For volumes with no   
               cylinder-managed space (SMF19CYM is off) these counters  
               are the same as the previous five counters for the whole 
               volume.                                                  
                  SMF19BUC Number of free complete cylinders            
                  SMF19BUT Number of additional free tracks             
                  SMF19BNC Number of complete cylinders in largest free 
                           extent                                       
                  SMF19BNT Number of additional free tracks in largest  
                           free extent                                  
                  SMF19BNE Number of free extents                       
               The following new fields provide volume size information 
                  SMF19TRK Total number of tracks on the volume         
                  SMF19TRM Total number of tracks in track-managed space
                         when SMF19CYM = '1' to the value of SMF19TRK   
                         otherwise. When SMF19CYM ='1' this value is    
                         also the address where cylinder-managed space  
                         begins.                                        
                                                                        
Change 27.033  IMS logs from different IMS Versions cannot be processed 
JCLIMSL6       in a single job with JCLIMSL6 or using TYPEIMS7, because 
Mar 11, 2009   the IMS version is not provided in the log records.  You 
               must EDIT the MACRO _IMSVERS nn %  to tell MXG what IMS  
               version's records are to be read.  The original way was  
               to define _IMSVERS in your IMACKEEP member, but if you   
               have two different versions, you needed to create two    
               special tailoring PDS libraries, each with only the that 
               IMACKEEP member, and then override the //SOURCLIB DD to  
               place this tailoring library ahead of the "USERID" and   
               "MXG" source libraries; do-able, but messy at the least. 
               To eliminate all that stuff, the JCLIMSL6 example now    
               has added, in //SYSIN stream for the TESTIMSB/TESTIMSA:  
                  %LET MACKEEP=  MACRO _IMSVER 10.0 % ;                 
               which overrides the IMSVER definition in either your     
               IMACKEEP member or in your IMACIMSA, so that you do NOT  
               have to EDIT either of those members into your USERID    
               to define the IMS Version.                               
                                                                        
               Note that this issue only applies to MXG JCLIMSL6 job    
               that read the native IMS log records, TYPEIMSx.  It      
               does not apply to these vendor products that create their
               own IMS data which contain the IMS version number and    
               which can be concatenated or have multiple versions input
               in one job: TYPECIMS/TYPESVIE/TYPEITRF/TYPETIMS.         
   Thanks to Herbert Sweeney, Verizon, USA.                             
                                                                        
Change 27.032  Support for CICS/TS 4.1.0 OPEN BETA.  INCOMPATIBLE as new
VMAC110        fields in CICSTRAN were INSERTed rather than APPENDed to 
Nov 20, 2008   the SMF 110 Subtype 1 records:                           
Dec 17, 2008     BFDGSTCT='EXEC*CICS*BIF*DIGEST*COMMANDS'               
Jan 12, 2009     BFTOTCT ='EXEC*CICS*BIF DEEDIT*BIF DIGEST*COMMANDS'    
Mar 10, 2009     ECEFOPCT='EVENT*FILTER*OPERATIONS'                     
EXCICECC         ECEVNTCT='EVENTS*CAPTURED'                             
EXCICPGD         ECSIGECT='SIGNAL*EVENTS*CAPTURED'                      
EXCICEPG         EICTOTCT='EXEC*CICS*REQUESTS'                          
EXCICECG         MAXTTDCN='MAXTTDLY*WAIT FOR*T8 TCB*COUNT'              
EXCICECR         MAXTTDTM='MAXTTDLY*WAIT FOR*T8 TCB*DURATION'           
VMXGINIT         MLXSSCCN='XML*SYSTEM*SERVICES*CPU*DISPATCHES'          
UTILEXCL         MLXSSCTM='XML*SYSTEM*SERVICES*CPU*DURATION'            
IMACCICS         MLXSSTDL='TOTAL*DOCUMENT*LENGTH'                       
Mar 14, 2009     T8CPUTCN='T8CPUT*JVM*MULTITHREADED*COUNT'              
                 T8CPUTTM='T8CPUT*JVM*MULTITHREAD*DURATION'             
                 TIASKTCT='EXEC*CICS*ASKTIME*COMMANDS'                  
                 TITOTCT ='EXEC*CICS*ASK/CONVERT/FORMAT*TIME*CMDS'      
                 WBATMSNM='ATOMSERVICE*RES DEF*NAME*USED'               
                 WBPIPLNM='PIPELINE*RES DEF*NAME*USED'                  
                 WBPROGNM='PROGRAM NAME*FROM URIMAP*RES DEF'            
                 WBSVCENM='WEBSERVICE*RES DEF*NAME*USED'                
                 WBURIMNM='URIMAP*RES DEF*NAME*MAPPED'                  
                 WBSVOPNM='WEBSERVICE*OPERATION*NAME'                   
                 MLXMLTCT='EXEC*CICS*TRANSFORM*REQUESTS'                
                 WSACBLCT='WSACONTEXT*BUILD*REQUESTS'                   
                 WSACGTCT='WSACONTEXT*GET*REQUESTS'                     
                 WSAEPCCT='WESAEPR*CREATE*REQUESTS'                     
                 WSATOTCT='TOTAL*WS-ADDRESSING*REQUESTS'                
                 WBSFCRCT='SOAPFAULT*CREATE*REQUESTS'                   
                 WBSFTOCT='TOTAL*SOAPFAULT*REQUESTS'                    
                 WBISSFCT='INVOKE*XXXSERVICE*SOAP*FAULTS'               
                 WBSREQBL='SOAP*REQUEST*BODY*LENGTH'                    
                 WBSRSPBL='SOAP*RESPONSE*BODY*LENGTH'                   
                 JVMTHDTM='JVMSERVER*THREAD*WAIT*DURATION'              
                 JVMTHDCN='JVMSERVER*THREAD*WAIT*COUNT'                 
                 WMQASRTM='WEBSPHERE*MQ*API*CPU SRB*DURATION'           
                 WMQASRCN='WEBSPHERE*MQ*API*CPU SRB*COUNT'              
              -Three new TCBs are added to the CICDS Dispatch Statistics
               and CICINTRV datasets, T8, EP, and TP, but only T8CPUT is
               contained in the CICSTRAN data at present.  And the TCB  
               Numbers have changed, as shown in this table, but since  
               the TCB 2-character name is used to identify the TCB,    
               this (fortunately) caused no incompatibility in CICDS:   
               See Change 27.200 for updated table.                     
              -New Pool added to STID=60, CICDSPOO for MAXTHRDS TCBs.   
              -CICS Statistics STID=11, dataset CICXMR has new variables
                 XMRCHGAG XMRCHGDT XMRCHGUS XMRGRFRM XMRINSAG XMRINSDT  
                 XMRINSUS                                               
              -CICS Statistics STID=12, dataset CICXMC has new variables
                 XMCCHAGT XMCCHGTM XMCCHUSR XMCDEFSR XMCINAGT XMCINSTM  
                 XMCINUSR                                               
              -CICS Statistics STID=21, dataset CICVT, has new variables
                 A03LUHWM A03LUNUM A03PSEC  A03PSIC A03PSNC             
                 A03PSOC  A03PSUC  A03PSTYP A03PSDIN                    
              -CICS Statistics STID=42, dataset CICTQR new variables    
                 TQRCHGDT TQRGRFRM TQRCHGAG TQRCHGUS TQRINSAG TQRINSDT  
                 TQRINSUS                                               
              -CICS Statistics STID=52, dataset CICCONSR new variables  
                 A14CHGDT A14GRFRM A14CHGAG A14CHGUS A14INSAG A14INSDT  
                 A14INSUS                                               
              -CICS Statistics STID=67, dataset CICFCR new variables    
                 A17CHGAG A17CHGDT A17CHGUS A17GRFRM A17INSAG A17INSDT  
                 A17INSUS                                               
              -CICS Statistics STID=74, dataset CICIMQ new variables    
                 CMQBUFMH CMQCB    CMQCHGAG CMQCHGDT CMQCHGUS CMQCRTMH  
                 CMQCRTNE CMQCTL   CMQDLTMH CMQDLTMP CMQGRFRM CMQINQMP  
                 CMQINSAG CMQINSDT CMQINSUS CMQMHBUF CMQRESYN CMQSETMP  
                 CMQSTAT  CMQSUB CMQSUBRQ                               
              -CICS Statistics STID=102, dataset CICDB2RE new variables 
                 D2RCHGAG D2RCHGDT D2RCHGUS D2RGRFRM D2RINSAG D2RINSDT  
                 D2RINSUS                                               
              -CICS Statistics STID=104, dataset CICWBR new variables   
                 WBRCHGAG WBRCHGDT WBRCHGUS WBRGRFRM WBRINSAG WBRINSDT  
                 WBRINSUS WBRNAME WBRUSAGE                              
              -CICS Statistics STID=105, dataset CICPIR new variables   
                 PIRCHGAG PIRCHGDT PIRCHGUS PIRGRFRM PIRINSAG PIRINSDT  
                 PIRINSUS                                               
              -CICS Statistics STID=106, dataset CICPIW new variables   
                 PIWCHGAG PIWCHGDT PIWCHGUS PIWGRFRM PIWINSAG PIWINSDT  
                 PIWINSUS                                               
              -CICS Statistics STID=108, dataset CICTCPIP new variables 
                 SORCHGAG SORCHGDT SORCHGUS SORGRFRM SORHOST SORINSAG   
                 SORINSDT SORINSUS SORIPADR SORIPFAM SORMXDAT SORTRNID  
                 SORURM                                                 
              -CICS Statistics STID=109, dataset CICISR new variables   
                 ISRCHGAG ISRCHGDT ISRCHGUS ISRFSICQ ISRFSICR ISRFSICS  
                 ISRGRFRM ISRINSAG ISRINSDT ISRINSUS ISRIPADR ISRIPFAM  
                 ISRLAUTH ISRRMTST ISRTRBYR ISRTRBYS ISRTRREQ           
              -CICS Statistics STID=111, dataset CICTCPIP new variables 
                 IIRCHGAG IIRCHGDT IIRCHGUS IIRGRFRM IIRINSAG IIRINSDT  
                 IIRINSUS                                               
              -CICS Statistics STID=112, dataset CICDHD new variables   
                 DHDCHGAG DHDCHGDT DHDCHGUS DHDGRFRM DHDINSAG DHDINSDT  
                 DHDINSUS                                               
              -CICS Statistics STID=114, dataset CICTCPEJ new variables 
                 EJRASSRT EJRCHGAG EJRCHGDT EJRCHGUS EJRGRFRM EJRINSAG  
                 EJRINSDT EJRINSUS EJRIPADR EJRIPFAM                    
              -New CICS stats STID=120, new dataset                     
                 CICPGD='PROGRAM DEF (RESOURCE) ID'                     
                 new variables:                                         
                 PGDAPI   PGDCHGAG PGDCHGDT PGDCHGUS PGDCONCU PGDDATLO  
                 PGDDYNAM PGDEXECK PGDEXEKY PGDGRFRM PGDINSAG PGDINSDT  
                 PGDINSUS PGDJVM   PGDJVMPR PGDLANG  PGDLANGD PGDPGMTY  
                 PGDREMOT PGDRMTPG PGDRMTSY PGDRMTTR PGDRUNEN           
              -New CICS stats STID=140, new dataset                     
                 CICECG='EVENTBINDINGS (GLOBAL) ID'                     
                 new variables:                                         
                 ECGFLTOP ECGCAPTU ECGDISAB                             
              -New CICS stats STID=142, new dataset                     
                 CICEPG='EVENTPROCESS (GLOBAL) ID'                      
                 new variables:                                         
                 EPGCUEVQ EPGCUTRQ EPGDSPAT EPGDSPCU EPGDSPPK EPGEVTCU  
                 EPGEVTTR EPGEVTTS EPGEVTWM EPGNOREV EPGPKEVQ EPGPKTRQ  
                 EPGPRIEV EPGPUTEV EPGSYNEV EPGTRDEV EPGTRNEV           
               -New STIDs 141 and 143 are structurally supported, but   
                only the _CICCMN variables are output, awaiting test    
                data records to validate.                               
                  STID   DATASET   DESCRIPTION                          
                  141    CICECR    EVENTBINDINGS (RESOURCE) ID          
                  143    CICECC    CAPTURESPEC RESOURCE ID              
               -See Change 27.200: MXG 27.08 now supports STID 141,143. 
              -CICS/TS 4.1 is still a BETA release, so IBM may choose to
               add, or remove, any of these fields in their GA release. 
              -See Change 27.200 for Support for CICS/TS 4.1.0 GA.      
              -Old notes "ADDED IN CICS 4.1.0" were not CICS/TS 4.1, but
               are now   "ADDED IN CICS/ESA 4.1.0", from 1994!          
                                                                        
Change 27.031  A set of sample reports for some basic TCP/IP analysis   
ANAL119        from IBM type 119 records (MXG Member TYPE119) for the   
May  7, 2009   analysis of FTP and Telnet usage, very similar to the    
               ANALTCP reports from SMF 118 records (which was also     
               contributed by Steve, by Change 18.091 in April, 2000!   
               Excellent comments in the ANAL119 member document these  
               sample reports, but don't contact Steve for help; any    
               problems should be directed to support@mxg.com.          
   Thanks to Steve Clark, DHL, USA.                                     
   Thanks to R. Wells, American General Finance, USA.                   
                                                                        
Change 27.030 -Only the last MDISK segment in XAMDEV records was output 
EXXAMDEM       in the XAMDEV dataset, but there can be many MDISKs, so  
IMACXAM        the new XAMDMINI dataset is created, outputting all MDISK
VMACXAM        segments, containing these MDISK-specific variables:     
VMXGINIT          DNMDISKS MDSKADDR MDSKDIST MDSKECYL MDSKOWNR MDSKSAMP 
Mar  6, 2009      MDSKSCYL MDSKWRIT MDSKZERO UDSKDIST UDSKSAMP UDSKUSER 
Mar 17, 2009      UDSKZERO USSKWRIT                                     
               and ALL those variables were removed from XAMDEV dataset.
              -The IODCAD logic had a typo, testing for 3390 instead of 
               for 3990, so the 3990 variables in XAMDEV dataset were   
               always missing values.                                   
              -These MTRPAG variables were kept in XAMSYS but not in the
               dataset XAMDEV:                                          
                  PGS1     PGS2     PGS3     CALCYLPA CALCYLSP CALCYLPR 
                  CALEXTPG CALEXTPS CALEXTPP                            
   Thanks to Douglas C. Walter, Citigroup, USA.                         
                                                                        
Change 27.029  Support for BMC's Ultra Op Product's User SMF record     
EXULOPIN       creates new dataset ULTRAOP.                             
FORMATS                                                                 
IMACULOP                                                                
TYPEULOP                                                                
TYPSULOP                                                                
VMACULOP                                                                
VMXGINIT                                                                
Mar  4, 2009                                                            
   Thanks to Tony Curry, BMC, USA.                                      
                                                                        
Change 27.028 -Support for NMON Nigel's Monitor for AIX/Linux under zVM,
EXNMONPO       record type 'VM' adds 37 new variables to the NMONINTV   
IHDRNMON       Interval dataset.  The descriptor record for 'VM' is not 
IMACNMON       consistent; sometimes its second word is the expected    
VMACNMON       Tnnnn snapshot value, sometimes that value is missing.   
VMXGINIT               DIRTY='NR*DIRTY'                                 
Mar 13, 2009           WRITEBACK='NR*WRITEBACK'                         
                       UNSTABLE='NR*UNSTABLE'                           
                       PAGETABLEPAGES='NR*PAGE*TABLE*PAGES'             
                       MAPPED='NR*MAPPED'                               
                       SLAB='NR*SLAB'                                   
                       PGPGIN='PGPGIN'                                  
                       PSPGOUT='PGPGOUT'                                
                       PSWPIN='PSWPIN'                                  
                       PSWPOUT='PSWPOUT'                                
                       PGFREE='PGFREE'                                  
                       PGACTIVATE='PGACTIVATE'                          
                       PGDEACTIVATE='PGDEACTIVATE'                      
                       PGFAULT='PGFAULT'                                
                       PGMAJFAULT='PJMAJFAULT'                          
                       PGINODESTEAL='PGINODESTEAL'                      
                       SLABSCANNED='SLABS*SCANNED'                      
                       KSWAPDSTEAL='KSWAPD*STEAL'                       
                       KSWAPINODESTEAL='KSWAPD*INODESTEAL'              
                       PAGEOUTRUN='PAGEOUTRUN'                          
                       ALLOCSTALL='ALLOCSTALL'                          
                       PGROTATED='PGROTATED'                            
                       PGALLOCHIGH='PGALLOC*HIGH'                       
                       PGALLOCNORM='PGALLOC*NORMAL'                     
                       PGALOCDMA='PGALLOC*DMA'                          
                       PGREFILLHIGH='PGSTEAL*HIGH'                      
                       PGREFILLNORM='PGSTEAL*NORMAL'                    
                       PGREFILLDMA='PGREFILL*DMA'                       
                       PGSTEALHIGH='PGSTEAL*HIGH'                       
                       PGSTEALNORM='PGSTEAL*NORMAL'                     
                       PGSTEALDMA='PGSTEAL*DMA'                         
                       PGSCANKSWAPDHIGH='PGSCAN*KSWAPD*HIGH'            
                       PGSCANKSWAPDNORM='PGSCAN*KSWAPD*NORMAL'          
                       PGSCANKSWPADDMA='PGSCAN*KSWAPD*DMA'              
                       PGSCANDIRECTHIGH='PGSCAN*DIRECT*HIGH'            
                       PGSCANDIRECTNORM='PGSCAN*DIRECT*NORMAL'          
                       PGSCANDIRECTDMA='PGSCAN*DIRECT*DMA'              
              -Support for record type 'POOLS' creates new NMONPOOL     
               dataset with these variables:                            
                 ENTITLED='ENTITLED'                                    
                 ENTITLED_POOL_CAPACITY='ENTITLED*POOL*CAPACITY'        
                 MAX_POOL_CAPACITY='MAX*POOL*CAPACITY'                  
                 POOL_BUSY_TIME='POOL*BUSY*TIME'                        
                 POOL_ID='POOL*ID'                                      
                 POOL_MAX_TIME='POOL*MAX*TIME'                          
                 SHCPUS_IN_SYS='SHCPUS*IN*SYS'                          
                 SHCPU_BUSY_TIME='SHCPU*BUSY*TIME'                      
                 SHCPU_TOT_TIME='SHCPU*TOT*TIME'                        
              -New IHDRNMON "NMON infile" exit is taken after RECTYPE   
               has been INPUT so that unwanted record types can be      
               deleted prior to processing.  But use carefully; if you  
               delete the wrong records, you could end up with nothing  
               output to the NMON datasets. And the &IHDRNMOH macro     
               variable is also defined so the exit can be defined in   
               your //SYSIN with %LET IHDRNMOH= %quote ( your code ) ;  
              -Erratic JFSFILE records with 38 instead of 36 fields have
               been observed, but that is a problem with NMON, not MXG. 
   Thanks to Long Nguyen, DHS, USA.                                     
   Thanks to Marvin Einarson, DHS, USA.                                 
   Thanks to Steven Olmstead, Northwestern Mutual, USA.                 
                                                                        
Change 27.027  TYPE42DS variables RESPTIME, MAXRSPTM and MAXSRVTM are in
VMAC42         milliseconds, but MAXRSPTM incorrectly had TIME12.2.  Now
Mar  2, 2009   all have 6.3 format and milliseconds in their label.     
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 27.026  Variable SMF88LTD='TIMESTAMP WHEN*SMF INTERVAL*EXPIRED'  
VMAC88         was usually wrong, as the GMT Offset was repetitively    
Mar  2, 2009   applied.  Also, the GMT offset was never applied if the  
               GMT Offset was positive.                                 
                                                                        
Change 27.025  Support for z/OS 1.11.                                   
EXTY8224      -TYPE 0. New variable:                                    
EXTY8225         CVTTZ   ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'          
EXTY8226      -TYPE1415. NO NEW DATA, but lots of text inserts about    
IMAC82           assembling the IFGSMF14 Macro with DSECT=YES, which is 
VMAC0            why it is flagged in the SMF Manual as changed.        
VMAC82        -TYPE30.  NO NEW DATA, only one line of text updated.     
VMXGINIT      -TYPE82.  New subtypes 24, 25, and 26.                    
May  2, 2009  -TYPE92.  Subtype 15 now documented, but MXG supported    
                        was added in Change 26.277 for APAR OA24208.    
              -TYPE1415 New variables DCBEEX31 XTIOTYES created from    
                        SMF14FLGS.                                      
                                                                        
Change 27.024  If only PMACC04 was requested, a NOT SORTED ERROR for the
ANALDB2R       DB2SUMRY dataset occurred. Some additional corrections to
Feb 28, 2009   PMACC01/PMACC02 (short reports had LOCK suspends reported
               under the PREFETCH column, and WRITE IMMEDIATES under the
               LOCKS column, and time formats match DB2PM (TIME12.6).   
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.023  Variables S17FBKNM S17FEXNM and S17FMFNM are now KEPT in 
VMAC117        dataset S117NODE so that it can be combined with S117FLOW
Feb 27, 2009   dataset so the Execution Group and Flowname to which the 
               Node belongs can be known.  Those variables are also     
               added to the _B117NOD and _B117FLO By List macros.       
   Thanks to Trevor Holland, ANZ, AUSTRALIA                             
                                                                        
Change 27.022  NDM Record 'IK' is now supported, output in NDMDT dataset
VMACNDM        not because I have a DSECT for that NDM subtype, but     
Feb 26, 2009   because it appears to have the same structure.           
   Thanks to Herbert Sweeney, Verizon, USA.                             
                                                                        
Change 27.021  QPACxxxx flag variables set from QPACFLGS were not reset,
VMACDB2        so if there was more than one NRQPAC segment in a record,
Feb 25, 2009   the values could have been wrong.  These eight variables 
                 QPACDBRM QPACPACK QPACCLS8 QPACCRNT QPACINSP QPACCLS7  
                 QPACPAC                                                
               could have been carried forward.                         
   Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.        
                                                                        
Change 27.020  WEEK70PR failed with VARIABLE INTERVAL NOT FOUND because 
WEEK70PR       - that variable has not existed in ASUM70PR in years, and
Feb 25, 2009   - WEEK70PR was way out of date, only supporting 16 LPARs.
               This change recreates the old INTERVAL (interval count)  
               and was enhanced to support all 60 possible LPARS.       
   Thanks to Atle Mjelde, Ergo Group, NORWAY.                           
                                                                        
Change 27.019  CICS User fields USECOPID/USECUSER/USECBRAN/APPCEMP1     
IMACAAAA       are supported in listed new IMACICxx CICS exit members.  
IMACICUA          IMACICUA - USECOPID                                   
IMACICUB          IMACICUB - USECUSER                                   
IMACICUC          IMACICUC - USECBRAN                                   
IMACICUD          IMACICUD - APPCEMP1                                   
UTILEXCL                                                                
VMAC110                                                                 
Feb 24, 2009                                                            
                                                                        
Change 27.018  DB2 V9 variables added by IBM or overlooked now input.   
VMACDB2        New variables in DB2STAT0/DB2STATS from QWSD segment:    
Feb 23, 2009     QWSDARTH='ROLLUPS*DUE TO*ROLLUP*THRESH*EXCEEDED'       
                 QWSDARSG='ROLLUPS*DUE TO*STORAGE*THRESH*EXCEEDED'      
                 QWSDARST='ROLLUPS*DUE TO*STALENESS*THRESH*EXCEDED'     
                 QWSDCDTB='NOT ROLLUP*DUE TO*KEY FIELDS*NULL'           
               New variable in DB2STAT0/DB2STATS from QVLS segment:     
                 QVLSL254='CONTENTIONS*LATCH CLASS*254'                 
               New variables in DB2STAT0/DB2STATS from QVAS segment:    
                 QVASCBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-WAIT'         
                 QVASCBOF='FAILED*SYSEVENT*BOOSTS*THREAD-WAIT'          
                 QVASMBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-STORE'        
                 QVASMBOF='FAILED*SYSEVENT*BOOSTS*THREAD-STORE'         
               New variables in DB2STAT0/DB2STATS from QSST segment:    
                 QSSTGETS='QSST_SGETM*STACK*REQUEST*GETMAINS'           
                 QSSTGETR='QSST_SGETR*GET*REQUESTS'                     
                 QSSTGETE='QSST_SGETEXT*STACK*EXTENSIONS'               
                 QSSTFRES='QSST_SFREEM*SEGMENT*FREEMAIN*REQUESTS'       
                 QSSTFRER='QSST_SFREER*REQUESTS*TO FREE A*SEGMENT'      
               New variables in DB2STAT0/DB2STATS from QWOS segment:    
                 QWOSLUIC='UNREFERNCED*INVERVAL*COUNT'                  
                 QWOSFLG ='STATUS*FLAG FOR*RMF-API (S)'                 
                 QWOSRCDE='RETURN*CODE FROM*RMF-API (S)'                
                 QWOSRSNC='REASON*CODE FROM*RMF-API (S)'                
                 NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
                 populate these variables.  APAR PK62116 applies.       
                 With the default NO value, fields contain 'FFFFFFFF'x. 
               New variables in DB2STAT1/DB2STATS from QXST segment:    
                 QXCRESEQ QXALTSEQ QXDROSEQ QXPRRESI QXALTVW            
                 QXALTCTX QXALTJR  QXCRCTX  QXCRROL  QXDRPCTX QXDRPROL  
                 QXMERGE  QXRNIX   QXSTXMLV QXTRTBL                     
                 These variables were not INPUT in the DB2STAT1 record, 
                 but were deaccumulated; all were labeled and did not   
                 raise an uninit warning because they were INPUT in the 
                 DB2ACCT record.                                        
               New variables in DB2ACCT           from QXST segment:    
                 QXALTCTX QXALTJR  QXCRCTX  QXCRROL  QXDRPCTX QXDRPROL  
                 QXMERGE  QXRNIX   QXSTXMLV QXTRTBL                     
                 These variables were INPUT but not kept.               
               Variable QBSTLPL in DB2ACCT was not input because its    
               conditional INPUT should have been at 276 vice 280.      
   Thanks to Steve Wood, DST Systems, USA.                              
   Thanks to Terry L. Berman, DST Systems, USA.                         
                                                                        
Change 27.017  Undecoded TOKDANAM non-tokens NOHOME/NOPROGRAM now set   
EXTY80TK       their segment-specific variables TOKHOME/TOKPROG to value
IMAC80A        'NOHOME' or 'NOPROGRAM', and logic was added to print    
VMAC80A        the first ten instances of undecoded TOKDANAM values with
VMXGINIT         ***MXGNEWDATA: messages and a hex dump on the SAS log. 
Feb 20, 2009  -NOTHREADMAX and NOSHMMEMAX non-tokens create new variable
Mar 13, 2009   TOKNOTHR and TOKNOSHM with those text values, and real   
               token LDAPHOST decodes and populates new var TOKLDHST.   
              -However, it was discovered that there can be multiple    
               instances of the (301) segment, with different TOKSUBSY  
               values, so these "TOKDANAM-specific" variables           
                  TOKASIZM TOKDCE   TOKGID   TOKHOME  TOKLDAP           
                  TOKLDHST TOKNOSHM TOKNOTHR TOKPROG  TOKUID            
               cannot be kept in the TYPE80nn event datasets, since only
               the last value would be output.  Instead, new TYPE80TK   
               dataset is now created, with both the TOKDANAM-specific  
               variables, and TOKSUBSY, TOKDANAM, TOKCHARV and TOKNUMRV 
               replications to give you easier reporting choices.       
   Thanks to Bill Arrowsmith, EuroClear, BELGIUM.                       
   Thanks to Maurice Peek, EuroClear, BELGIUM.                          
                                                                        
Change 27.016 -SMF 42 Subtype 25 (Rename Member), NEWMEMNM/OLDMEMNM were
VMAC42         misaligned, because SMF42PF1 plus 3 reserved bytes only  
Feb 20, 2009   exist in the subtype 24 record.                          
              -The three member name fields NEWMEMNM/OLDMEMNM/AORMEMNM  
               in subtypes 24 and 25 are theoretically variable length  
               fields, so they were INPUT x $VARYING8. SMF42PML/QOL, but
               those lengths are always 8 bytes, so now $EBCDIC8. is    
               used, which also makes them correct under ASCII SAS.     
              -The subtype 25 record has a minor error: SMF42NT/NRTRIPLT
               the number of triplets, is 3, but 4 triplets are present.
               The fourth points to ICHRUTKN, so MXG tests the offsets  
               rather than trusting the NRTRIPLT.                       
   Thanks to David Kaplan, DTCC, USA.                                   
                                                                        
Change 27.015  Support for processing DB2 GTF records was revised.      
UDB2GTF       -The SORT FIELDS= statement in UDB2GTF must be changed to 
VMACSMF        only sort on the first field; without this change, there 
Feb 20, 2009   was no error, but the output records were incorrect.     
              -The _GTFDB2 macro now sets ID=101 if IFCID=239 is found. 
              -The massive number of DEBUG statements are no longer     
               printed on the log, unless you choose to enable debugging
               in the UDB2GTF program.                                  
   Thanks to Tony Curry, BMC, USA.                                      
   Thanks to Steve Wood, DST Systems, Inc, USA.                         
                                                                        
Change 27.014 -SAS option TRANSCODE=NO is now set for all $HEX variables
DOC            so they are NOT translated from EBCDIC to ASCII or vice  
FORMATS        versa.  Normally when a SAS dataset is moved between     
UTILCVRT       different platforms (XPORT,CIMPORT,etc.), all character  
UTILXRF1       variables are translated, but this is most unwelcome for 
VMXGINIT       MXG variables that contain $HEX values (CPUTYPE changed  
VMXGSUM        from '2086'x to '8786'x).  The TRANSCODE attribute is set
Mar  8, 2009   in SAS V9 with syntax "ATTRIB var1 var2 TRANSCODE=NO;"   
May  4, 2009   but since it does not exist under SAS V8, and there still
               are MXG sites limping along on archaic SAS V8, two new   
               GLOBALed macro variables, &MXGNOTRA and &MXGNOTRB, are   
               defined in VMXGINIT by this macro logic:                 
                  %IF &SASVER GE 9 %THEN %DO;                           
                    %LET MXGNOTRA= ATTRIB ;                             
                    %LET MXGNOTRB= TRANSCODE=NO;                        
                  %END;                                                 
                  %ELSE %DO;                                            
                    %LET MXGNOTRA= * ;                                  
                    %LET MXGNOTRB=   ;                                  
                  %END;                                                 
               and then this statement was added in each of the 300+    
               members that create $HEX variables                       
                  &MXGNOTRA  var1 var2 var3  &MXGNOTRB  ;               
               so the TRANSCODE=NO attribute will be set under SAS V9,  
               but under SAS V8, that statement becomes only a comment. 
              -In addition to variables formatted with the $HEX format, 
               there are character variables that contain hex values but
               they are formatted with MXG-created $MGxxxxx formats. The
               FORMATS member was read to select those format names, and
               lookup format $MGNOTRA was created to validate that these
               "$MG-HEX" variables also have the TRANSCODE=NO specified.
               New QA tests read FORMATS to discover any new "$MG-HEX"  
               formats, and update the $MXNOTRA table when new formats  
               are found (if I forget when creating a new one!).        
              -In March, 2009, SAS V9 did not pass the ATTRIB TRANSCODE 
               into a dataset created by a SAS VIEW, but in May, 2009,  
               that was corrected by HotFix E9BC81 SAS Note SN-035112,  
               and this change text was revised.                        
              -However, it was also discovered that the dataset created 
               by the PROC CONTENTS OUT= operand does NOT contain the   
               TRANSCODE attribute; that OUT= dataset is a major input  
               for MXG's QA testing of variables.  While the printed    
               output of PROC CONTENTS does show the TRANSCODE          
               attribute, it is ONLY printed for datasets that have a   
               variable with TRANSCODE=NO specified.  Fortunately, the  
               SASHELP.VCOLUMN dataset does contain the TRANSCODE       
               attribute for every variable, so UTILXRF1 was revised to 
               use that dataset to add TRANSCODE to the OUT= XREFDATA   
               dataset used for QA analysis.  SAS Development has       
               indicated their intention to correct the omission in PROC
               CONTENTS OUT= in a future release.                       
              -UTILCVRT can be used if the dataset was already moved to 
               the new platform, to "un-translate" the $HEX variables;  
               it's comments were updated.                              
              -And, for WPS, the VMXGINIT default sets MXGVIEW=NO.      
              -New $MGNOTRA is created in FORMATS by reading the FORMATS
               member to identify MXG-created formats that have HEX data
               values, and then it is used in the QA tests to ensure all
               of those variables do indeed have TRANSCODE=NO specified.
              -Because this change can be recognized by the existence of
               &MXGNOTRA in each updated member, I did NOT change the   
               "LAST UPDATED:" text at the top of the 300+ members that 
               created a total of 9831 $HEX-containing variables.       
               I also did not add the TRANSCODE attribute to the DOCVER 
               nor to the ADOCxxxx descriptions, as there's no room for 
               a new attribute, and because a PROC CONTENTS will show it
               if you really need to confirm its value for a dataset.   
                                                                        
Change 27.013  TMON for MQ Series INPUT STATEMENT EXCEEDED RECORD for QM
VMACTMMQ       subtype; MXG expected 18 reserved bytes that don't exist.
Feb 18, 2009                                                            
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 27.012  This enhancement to select DB2 reports by DATABASE set a 
ANALDB2R       new MXG world record, with fifteen iterations needed to  
VFMT102        resolve all possible permutations discovered in testing! 
Feb 17, 2009   Selection by DATABASE uses the HEX values of OBID/DBID to
Feb 21, 2009   select the desired observations from DB2 datasets, but   
               if IFCID=105 and 107 were traced, they are used to map   
               hex values to text names.  If you did not trace 105/107s,
               or no 105/107 for the OBID/DBID being reported was found,
               the reports will print the HEX value instead of the name.
               New documentation in comments for the AUDIT= subparameter
               list the IFCIDs needed for full AUDIT report generation, 
               as well as those that do contain the Database ID field.  
              -If only PMACC02 was specified, and if both ASUMDB2A and  
               DB2ACCCT datasets exist in the DDNAME/LIBREF pointed to  
               by the PDB=xxx operand of %ANALDB2R, and if USEACCT=YES  
               was specified, ASUMDB2A was always used when DB2ACCT     
               should have been used.                                   
   Thanks to Scott Swindling, Nordstrom, USA, who tested each iteration!
                                                                        
Change 27.011  Support for CTG V7.2 (INCOMPATIBLE, new CTG_RECID=7 made 
VMAC111        INPUT STATEMENT EXCEEDED RECORD LENGTH error). That new  
Feb 19, 2009   subtype is not documented in SC34-6961-00, but protection
               for any new subtype was added, with a NOTE that new data 
               exists in the future.                                    
              -CTG_RECID=3 for GD (Gateway Daemon) added new variables: 
                 CTGDFSRV='DEFAULT*SERVER*FOR*GATEWAY'                  
                 CTGHOSNM='HOSTNAME*OF GATEWAY*COMPUTER'                
                 CTGIHAEX='CICS*REQUEST*EXIT*CALLS'                     
                 CTGISYNC='SYNCONRETURN*FAILS'                          
                 CTGLHAEX='CICS*REQUEST*EXIT*CALLS'                     
                 CTGLSYNC='SYNCONRETURN*FAILS'                          
   Thanks to Renato Guerra, SGS Banco Popolare di Verona, ITALY.        
   Thanks to Davide Marone, SGS Banco Popolare di Verona, ITALY.        
                                                                        
Change 27.010  Variable SMF70CIX is now output in PDB.TYPE70PR dataset, 
VMAC7072       as it is the CPU Pool Number.  While it has been INPUT   
Feb 16, 2009   for years, it was only used as an index to find out the  
               engine type of each LCPUADDR, to store into SMF70CIN; it 
               was Martin's SlideShow that educated me to the fact that 
               it is also the CPU pool number, and hence worth keeping. 
              http://www.slideshare.net/MartinPacker/much-ado-about-cpu 
   Thanks to Martin Packer, IBM, EUROPE.                                
                                                                        
Change 27.009 -SYSLOG MSGID IEF233D was captured by ASMTAPEE in ML-43,  
VMACTMNT       last summer, but VMACTMNT was not updated to decode it,  
Feb 13, 2009   causing "UNEXPECTED" messages to be printed on the log.  
               That MSGID is now output by VMACTMNT in TYPESYMT dataset.
               Support for IEF233D in ASUMTAPE was already in place.    
              -SYSLOG messages that do NOT contain DSNAME are created if
               your site has NOT specified  COM='MONITOR DSNAME' in your
               SYS1.PARMLIB(COMMNDxx).  This causes either blank DSNAMEs
               in PDB.TYPESYMT and PDB.ASUMTAPE, or, it caused DSNAME to
               have "MEDIAn", because the SYSLOG MSGID IEC705I was      
               incorrectly parsed when DSNAME was not populated.  The   
               location of the DSNAME in IEC705I is variable, so MXG's  
               parsing was revised to only INPUT the SYSLDSN if the text
               ends in 'MEDIAx'. A new warning message is printed if the
               last field is not MEDIAx, and a warning if the sss field 
               is blank, so I can validate my parsing of that instance. 
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.               
                                                                        
Change 27.008  z/VM 5.2 MONWRITE BROKEN CONTROL RECORD ERROR, because   
VMACVMXA       MXG unconditionally INPUT variable PFXCPUTY in 4 subtypes
Feb 13, 2009   but the other 8 subtypes input that field conditionally. 
               These four subtypes are now also conditionally INPUT     
               (0.1 SYTSYP, 3.2 STORSP, 3.20 STOSXP, 5.3 PRCPRP) based  
               on the length of the segment.                            
   Thanks to Tom Draeger, Aurora, USA.                                  
                                                                        
Change 27.007  Support for IBM's ENQ/DEQ Monitor was initially added in 
FORMATS        Change 26.323, but several fields were not documented by 
VMACENQM       IBM in the DSECT; the ENQFLAG1/ENQFLAG2 are now decoded, 
Feb 11, 2009   and the description of ATTR1 bit settings were deduced.  
                                                                        
Change 27.006  Several logrec character variables were length $200 due  
VMACEREP       to that pre-SAS-V8-length-limit, or were input $CHAR200  
Feb 14, 2009   but then reduced because of shorter $HEX format length.  
               These revisions were made:                               
               New SDWA     $400. $HEX800.  Removed: SDWA1, SDWA1A.     
               New SDWARC1  $456. $HEX912.  Removed: SDWARC1A,1B        
               New SDWARC2   $16.  $HEX32.                              
               New SDWARC3   $32.  $HEX64.                              
               New SDWARC4  $360. $HEX720.                              
               New SDWAVRA  $255  $HEX510.  Removed: SDWAVRA1.          
               New LXC2SNI  $228. $HEX456.  Removed: LXC2SNI1,2         
               Old SLHIRB increased to $HEX128.                         
   Thanks to Ken W. Kasten, Embarq, USA.                                
                                                                        
Change 27.005 -The _RPDBID macro previously printed PROC FREQ tabulation
BUIL3001       of SMF Record IDs that were read by BUILDPDB (by SYSTEM).
BUILD001       Now, it prints ID+SUBTYPE with the new IDANDSUB variable,
BUILDPD3       e.g., IDANDSUB=110.002 for the ID=110 SUBTYPE=2 records. 
BUILDPDB       Additionally, the output of the PROC FREQ is now created 
MONTHASC       in the new PDB.SMFRECNT dataset.                         
MONTHBL3      -The WEEKly and MONTHly PDB build programs were updated to
MONTHBLD       create the SMFRECNT there as well, sorted BY ZDATE.      
MONTHBLS      -All of the WEEK/MONTH programs are enhanced so that they 
MONTHDSK       will NOT fail when an expected dataset does NOT exist.   
MONTHWEK       This means you can implement a new BUILDPDB on any day of
WEEKBL3        the week (previously, the only safe day was to implement 
WEEKBL3D       on the first day of your week, so all seven day-of-week  
WEEKBL3T       PDBs had the new dataset for the new WEEKly job.), and on
WEEKBLD        any day of the month for the MONTHly job.  Now, by using 
VMACID         SAS OPTIONS NODSNFERR NOVNFERR instead of just NODSNFERR,
Feb 12, 2009   the DATASET-NOT-FOUND is protected by NODSNFERR, and the 
               BY-VARIABLE-NOT-FOUND is protected by NOVNFERR.          
                 Well, almost:  A WARNING: BY VARIABLE NOT FOUND will be
                 printed on the SAS log, but that warning does not set  
                 _ERROR_, so there is NO return/condition code created, 
                 which is exactly what is desired for this condition.   
                 However, it is inconsistent for a WARNING message to   
                 not set a condition code, but since we do NOT want that
                 here, SAS Technical Support has said the "WARNING" text
                 will be changed to "NOTE" in the future.               
   Thanks to Diane Farias, IBM Global Services, CANADA                  
                                                                        
Change 27.004  Support for SMF 113 Hardware Instrumentation Services HIS
EXTY113        record, documented in SA23-2260,SA23-2261 and added by   
FORMATS        APAR OA25755 (and possibly other APARs), creates TYPE113 
IMAC113        dataset with six Basic, six Program State, sixteen Crypto
TYPE113        and twenty-four Extended counters of Level One, Two and  
TYPS113        Three Data and Instruction Cache activity counts for each
VMAC113        CPU engine.  The counts are accumulated, so the TYPS113  
VMXGINIT       member, which does the de-accumulation in the _S113 SORT 
Feb  8, 2009   macro, must be used, or with BUILDPDB, you must add the  
               _S113 product sort macro in your EXPDBOUT member.        
   Thanks to IBM z/OS Developer Support Program for providing SMF data!!
                                                                        
Change 27.003  Support for Tivoli Automation SMF 114 record.            
EXTY114        Creates new TYPE114 dataset from subtype 1 record.       
FORMATS        This was originally completed on Jan 11, 2009, as Change 
IMAC114        26.298, but I accidentally re-used/overwrote that change 
TYPE114        text.  The was no change to the code delivered in 26.26. 
TYPS114                                                                 
VMAC114                                                                 
VMXGINIT                                                                
Jan 11, 2009                                                            
Feb  9, 2009                                                            
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.          
                                                                        
Change 27.002 -Original MXG 26.26 ONLY.  Corrected in Feb 12 Version.   
READDB2       -READDB2 in MXG 26.26: might not create all datasets that 
Feb 11, 2009   you requested, and could impact ANALDB2R(PDB=SMF,...) as 
Feb 16, 2009   the READDB2 member is invoked by ANALDB2R to read SMF.   
Feb 17, 2009   Last minute changes for IFCID=255 and DB2STAT4 were made 
Feb 20, 2009   but validation focused only on that correction.          
              -If VMXGTIME was being used, when READDB2 tried to resolve
               a local macro variable it got a bad value placed in a    
               local macro variable by VMXGTIME.  This generated a      
               WARNING: MACRO VARIABLE NOT RESOLVED.  The macro variable
               name was changed in READDB2 to prevent the conflict.     
              -The Second READDB2 in the re-dated MXG 26.26 could fail  
               if the DB2= operand was used to select DB2 SubSystems.   
               Fortunately (for me!), this caused an actual 180 ERROR   
               condition before any data was read, so it was NOT like   
               the first (insidious) error that you could overlook until
               you tried to read a non-created DB2 dataset, thus this   
               error did not require another refresh!  But the revision 
               revealed an unrelated/unreported inconsistency with the  
               documentation, if you had multiple selection criteria,   
               like %READDB2(DB2=DB2X DB2Y, PLAN=PLANA PLANB).  Those   
               criteria were ORed, so all PLANs from DB2X or DB2Y were  
               selected, plus all subsystems with PLANA or PLANB were   
               also selected.  The logic is now revised to AND all of   
               the selection criteria, so now only PLANA or PLANB from  
               only either DB2X or DB2Y would be selected.              
               And, a cosmetic change was made so that the selection    
               criteria are printed on the SAS log, so you can see what 
               was requested.                                           
              -A pair of additional errors were also corrected.  Only   
               DB2ACCTP was created from ACCOUNT if IFCIDS=ALL was used,
               and calling READDB2 from ANALDB2R could cause this error:
                 DATA=ZZDB2PST;    %                                    
                 ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY        
                        LETTERS, DIGITS, AND UNDERSCORES.               
              -May 20: Writing SMFOUT on PC's &RECFM corrected.         
              -May 24: The T102S225, DB2STAT4, IFCID=225 building was   
                       significantly redesigned in Change 27.097.       
   Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.            
   Thanks to Scott Chapman, American Electric Power, USA.               
   Thanks to Tony Curry, BMC, USA.                                      
                                                                        
Change 27.001  MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY: HiperDisp
VMXGRMFI       But ONLY if HiperDispatch is active, plus negative values
Feb 11, 2009   in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
               MSU4HRAV and PCTOFHDW.  A recalculation of CPUACTTM was  
               not tested with RMF data with HiperDispatch active (i.e.,
               when SMF70PAT/CPUPATTM were GT zero).  That recalculation
               was removed by this change.                              
   Thanks to Chuck Hopf, Bank of America, USA.                          
                                                                        
                                                                        
LASTCHANGE: Version 27.