This WAS the member CHANGES with Version 2. It is here for historical 
  purposes. Current changes are always in member CHANGES.               
  When Version 2 shipped, member CHANGES contained the following:       
  MXG Software Status as of March 24, 1985:                             
  This is MXG Version 2.                                                
  This  member  describes the  changes made  to the MXG software since  
  Version 1. The documentation of those changes is in member DOCVER02.  
I. NEW MEMBERS OF MXG.SOURCLIB IN VERSION 2.                            
 ANALCONT    PROC CONTENTs and PROC PRINT which were formerly a part of 
             BUILDPDB were moved to streamline JCLPDB, since some users 
             did not need these PROCs executed in their production PDB. 
 ANALDB2     Routine which processes the raw DB2 data sets built by MXG 
             module VMACDB2 into the PDB,  and converts the accumulated 
             counters in the raw records into actual useable values.    
 DOCINCLD    Documentation which cross references all included modules, 
             idenfitying which module includes which.                   
 DOCVER02    Documentation of the new variables in existing data sets   
             and the contents of data sets which are new in Version 2.  
 ESCHANGE    Documentation of the changes made during the Early Ship    
             Program of the MXG product, kept here for SMF archivists.  
 EX......    A part of the MXG EXIT facility,  there are 115 new members
             which begin with EX......, one corresponding to each of the
             MXG data sets.. All OUTPUT statements in MXG code have been
             replaced by   %INCLUDE SOURCLIB(EX......);  so that you can
             make  user modifications  to the  contents  of the MXG data
             external to the MXG code. Once your modifications are made,
             future versions of MXG can be installed  without any review
             of your local modifications.   The exits are transparent to
             you until you choose to use them.                          
 IMACFILE    A part of the MXG EXIT facility which is taken after each  
             SMF record has been identified. In this exit, bad records  
             can be deleted (perhaps to correct a STOPOVER condition),  
             or the exit can be used to select SMF records to be sent   
             to an OS file for processing by other programs.            
 IMACICDL   Supports processing of the optional DL/1 counters in the    
             CICS type 110 transaction record.                          
 IMACINTV    Member IMACINTV  was blank in  Version 1.  It determines if
             observations will be created in data set TYPE30_V and it is
             self documenting.                                          
   Thanks to Patricia McKenzie, B.C. Systems, CANADA.                   
 IMACKEEP    A part of the MXG EXIT facility which will override any    
             of the _VAR.... definitions, providing for easy tailoring  
             of the KEEP= list to locally determine which variables are 
             kept in the MXG data sets. Even the data set name can be   
             altered through this exit.                                 
 IMACM204    Defines the SMF Record Id of MODEL 204 record to MXG.      
 IMACPUSU    Used only under MVS/370 to set CPU speed factor (SU_SEC).  
             This allows installation to override the  table of SU_SEC  
             under 370 (which does not provide the CPU Version) if you  
             have different versions of the same CPU.                   
 IMACPUXA    Used only under MVS/XA to set CPU speed factor (SU_SEC).   
             This should be needed only if you install a brand new CPU  
             before the next Version of MXG is shipped.                 
 IMACROSC    Defines the SMF Record Id of ROSCOE record to MXG.         
 MONBLD      Members WEEKBLD MONBLD described in  text  did  not  exist.
 WEEKBLD     These  members were  printed  in  Chapter  35 (although not
             specifically identified) and are now included in MXG.  Both
             are used in creating the weekly and monthly PDB data sets. 
   Thanks to Patricia McKenzie, B.C. Systems, CANADA.                   
 TYPEDB2     Process the type 100 and 101 SMF records created by IBM's  
 VMACDB2     DATABASE TWO, or DB2 product.                              
 TYPEM204    Process the SMF records written by Computer Corporation    
 VMACM204    of America's MODEL 204 product.                            
 TYPEROSC    New Member TYPEROSC and VMACROSC process the SMF records   
 TYPEROSJ    written by ROSCOE. Member TYPEROSJ processes the ROSCOE    
 VMACROSC    records written to a journal file.                         
 TYPE39      Process the SMF records written by NLDM,  which gathers    
 VMAC39      the hardware monitor response time counters collected in   
             the 3274 control unit.                                     
 TYPE128     Supports IBM's Network  Performance Monitor  (NPM) Type 128
 VMAC128     record, which allows tracking of VTAM Session Connect time.
             The type 128 record was previously created by IMB's FDB    
             VTAMPARS, which was merged with the NPA FDP to form NPM.   
   Thanks to Edgar Ortiz, Citicorp Denver, USA.                         
 UDOCHECK    A debugging utility which will read a SAS source program or
             SYSOUT listing to locate un-matched DO-END pairs.  You will
             probably never need it, but it can save hours if you do.   
NEXTCHANGE: Version  1                                                  
Change 01.41   Macro added to name the DD of the CICSYSTM, CICSEXCE,    
ANALCICS     and CICSACCT data sets for consistency with JCLTEST.       
Mar 29, 1985                                                            
Change 01.40   Member TYPE80 and VMAC80 now process most of the info in 
TYPE80       the type 80 record written by RACF.                        
Mar 25, 1985                                                            
Change 01.39   Support for the optional DL/1 activity counters in the   
VMAC110      type 110 record was added. MXG module IMACICDL must be     
Mar 25, 1985 enabled to create the seventeen new variables.             
   Thanks to Louis Eliscu, Continental Insurance Company, USA.          
Change 01.38   This change documents many minor changes.                
DOC          a. VMACEXC2, VMAC434, VMAC40. SUBTYPE was added to the     
Mar 25, 1985    INVALID DEVICE message  for identification of which     
                type 30 subtype was involved. Since SUBTYPE doesn't     
                exist in 4,34 or 40's,  SUBTYPE is set to 434 or 40     
                before calling VMACEXCP from those modules.             
             b. TYPE38. Label NPARBC was corrected from PIU to BYTE     
                count,  and  other  label spellings were corrected.     
             c. JCLTEST. The JOB card was removed and the SMFOUT DD     
                card was corrected.                                     
             d. IMACCHAN.  The comments which described the example     
                now describe the example.                               
   Thanks to Dan Kaberon, Hewitt Associates, USA.                       
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
   Thanks to David Stern, 1st Atlanta, USA.                             
Change 01.37   CICS monitor facility data now contains a negative value 
VMAC110      for the dictionary records for MCTSSDRL, which should be   
Feb 15, 1985 the length of the data segment. IBM states that this value 
             signifies a variable length segment. This caused a message 
             "Invalid  type  110  record"  because MCTSSDRL was used to 
             check for  invalid  length records  (which has occurred if 
             CICS PTF's have not been installed).  This check for valid 
             length now  disregards  MCTSSDRL  if this  is a dictionary 
             record (MCTSSDID=0).                                       
   Thanks to Malcolm Morgan, Wachovia Bank, USA.                        
   Thanks to Bill Gibson, SAS Australia for seeing it first.            
Change 01.36   Decoding of density was in error; true value of 6250 was 
VMAC1415     decoded as 1600. Test was corrected.                       
Feb 15, 1985                                                            
   Thanks to David Henley, HEALTHNET, USA.                              
Change 01.35   VSPC creates two type 44 records; only one format was    
VMAC43PC     recognized by MXG with the other producing a STOPOVER      
Feb 15, 1985 condition.  Fix eliminates STOPOVER for the VSPC type 44   
             record written for alter/define.                           
   Thanks to Ron Greve, South Dakota State University, USA.             
Change 01.34   This module, used in JCLTEST to select 10 SMF records of 
UTILGETM     each type, was expanded to select record ID's of 0 to 255. 
Feb 15, 1985                                                            
Change 01.33   PRTY was corrected, and three new variables added.       
VMAC26J2     a. The FLOOR function on PRTY divided by 16 gave the value 
Feb 15, 1985    of priority as an integer, but JES2 ages by adding 1 to 
                the right nybble until it overflows.   Thus priority is 
                not an integer when ageing is used.  The FLOOR function 
                was removed.                                            
             b. The INROUTE,  PRROUTE  and PUROUTE fields contain their 
                associated node number,  but it was thrown away in MXG. 
                They are now decoded into variables INNODE, PRNODE, and 
   Thanks to Gary Zolweg, National Semiconductor, USA.                  
Change 01.32   Support for TSO/MON release 4.2 was added. in addition   
VMACTSOM     to several new variables in the previous two datasets,     
Feb 15, 1985 a new data set,  TSOMCMND records each command name in     
             each user segment (either full command name or tso/mon     
             command abbreviation). this permits analysis of actual     
             commands issued by individuals.                            
             a. Data set TSOMCMND is created by outputting each command 
                type segment in each user segment in each system record.
                This permits identification of what commands users use. 
                The data set is optional, and the default is zero obs.  
             b. TSOMSYST data set enhanced with MINSMCI, OVRMAXCN,      
             c. TSOMCALL data set enhanced with COMNDTYP, TERMNAME, and 
                TERMTYPE variables.                                     
             d. Formats $MGTSOCD and $MGTSOTE added to FORMATS.         
   Thanks to Milt Weinberger, Information Services International, USA.  
Change 01.31   Support added for IMS 1.3 records written by Control/IMS,
VMACCIMS       IMS Measurement Facility, a Boole and Babbage Product.   
Feb 14, 1985   See MXG NEWSLETTER for a discussion of technical changes.
             a. Exits added (EXIMFPGM, EXIMFTRN, EXIMFDBD).             
             b. Additional formats were added to FORMATS (note that this
                requires users to re-execute step one of JCLTEST to load
                these new formats in MXG.SASLIB).                       
             c. IMACCIMS was corrected and better documented.           
Change 01.30   Two occurrences of '1to' were changed to '1 to', VMAC76. 
Nits           ABEND value of CANCEXIT is only 7 characters, CANCEXI,   
Feb 14, 1985 in VMAC30                                                  
Change 01.29   Changes introduced in the updates SMF manual were added. 
Feb 11, 1984 now exist.                                                 
Change 01.28   Changes introduced in the updated SMF manual (now -2) are
VMAC6        added. MVS/370 variable DATAERR now exists in MVS/XA. For  
Feb 14, 1985 JES3, variables FONT, OVLY, and PAGE are created.          
Change 01.27   Many enhancements were made:                             
BUILDPDB     a. Exits added: EXPDB... where ... is VAR, CDE, OUT, JOB   
BUILDPD3        STP, and PRT. See Exit discussion in MXG NEWSLETTER.    
Feb 15, 1985 b. Data sets TYPE78VS, TYPE78SP, and TYPE78PA were added to
                the PDB, and then dropped from WORK.                    
             c. Data sets TYPE21, TYPE78CF, CICSACCT, CICSEXCE, and     
                CICSYST are deleted from WORK.                          
             d. ABEND values JCL, CRSH, and NOTP, discussed on p.335    
                were added to PDB.JOBS                                  
             e. ZDATE was added to all PDB data sets.                   
             f. PERFGRP is finally correct in PDB.JOBS and PDB.STEPS.   
             g. PROC CONTENTS and PRINT which were at the end of the    
                module were moved to member ANALCONT, which was also    
                added to SYSIN concatenation in JCLPDB.                 
             h. LENGTH statements were added to force a length of 4     
                for variables created by PROC MEANS. This will save     
                disk storage space required by the PDB data.            
             i. Second READTIME in BY list merging TYPE26Jx  SPIN26     
                was removed.                                            
             j. TYPRUN was added to PDB.JOBS for JES2.                  
Change 01.26   Variables BATCHMAX, STCMAX, and TSOMAX are now created;  
RMFINTRV     temporary data sets RMFCOMMN, RMF78D0, and R78HOUR are now 
Feb 14, 1985 deleted.                                                   
   Thanks to ???, SAS Australia.                                        
Change 01.25   Data sets TYPE78PA and TYPE78SP (virtual stor monitoring 
VMAC78       of specific jobs) were coded but not tested, due to lack of
Feb 14, 1985 specific records. Several coding problems were corrected:  
             a. LENPASS and NRPASS were read in reverse order.          
             b. OFFPASS was being decremented incorrectly (in a loop!). 
             c. Average values are RB4. vice PIB4.                      
             d. Loop added around divide by NRPASAMP to avoid division  
                by zero error message.                                  
             e. For tasks with no sub pool data, the beginning offset to
                the subpool data is non-zero. MXG now checks the ending 
                offset for non-zero before reading!                     
             f. SMFTIME, STARTIME, and SYSTEM added to TYPE78PA and     
                TYPE78SP to permit matching of observations.            
             g. Format added for duration variables ending in 6 or 8,   
                variables in TYPE78PA, and length=8 specified for time  
                stamp variables previously overlooked.                  
             Data set TYPE78CF was incorrect. Essentially only the data 
             for  the first  LCU was valid due to incorrect calculation 
             of the offset.                                             
   Thanks to Joe Faska, Chemical Bank, USA.                             
Change 01.24   The reference to this member in the book should have been
JCLDBANL     to ANALDSET. Comment added in JCLDBANL to that effect.     
Feb 14, 1985                                                            
Change 01.23   Version 5 of SAS will not permit multiple variables with 
ANALBNCH     the same name, as was done frequently with PROC MEANS and  
ANALDOS      an  OUTPUT statement with variable name X repeated and then
ANALMPL      dropped with a single DROP=X operand.   All  occurrences of
BUILDPDB     this  syntax were  changed  to create unique variable names
BUILDPD3     (eg., X1-Xn), which are then dropped.                      
Feb 14, 1985                                                            
Change 01.22   DOWNTM calculation now made only if the previous record  
VMAC0          was from the same system, and the result is non-negative.
Feb 14, 1985   The variable is also formatted TIME12.2.                 
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.      
Change 01.21   TYPETASK value for JES3 now consistent with JES2 values. 
VMAC30         JES2 JOBID begins with JOB, TSU or STC but JES3 JOBID    
Feb 14, 1985   has JOB, JOBI, or JOB0. The SUBSYS field was used to     
               correctly identify the type of task for JES3.            
   Thanks to Don Hardman, National Advanced Semiconductor, USA.         
Change 01.20   CPU support for 4381's (I, II, and the mp-III) added, as 
VMAC7072     was  support  for  the  Performance Improvement Feature (an
Feb 14, 1985 Engineering Change) speed-ups for the 308x processors.  The
             PIF  EC makes the 308x processors almost as fast as the new
             "X" series processors.  These factors were tabulated in MXG
             NEWSLETTER I.3.  Additionally, the CPU factors for the 3081
             K and G machines (all versions) were corrected for the case
             in which only one CPU was online.                          
Change 01.19   Include for IMACJBCK the Job Check Exitg to select only  
VMAC16         certain Jobnames, Readtime, etc., was added.             
Feb 14, 1985                                                            
Change 01.18   To support new 3480 tape drive, EXCP and IOTM variables  
VMACEXC2     were added. EXCPTAPE and IOTMTAPE continue to contain the  
VMAC30       total EXCP count and IOTM connect seconds for tape devices.
VMAC40       In addition, variables EXCP3420, EXCP3480, IOTM3420, and   
VMAC434      IOTM3480 provide subtotals by actual device type to aid in 
Oct 11, 1984 measuring migration.                                       
Change 01.17   Device type for 3420 and 3480 tape drives is now decoded 
VMACUCB      into values '3420' or '3480' replacing value of 'TAPE'.    
Feb 14, 1985 This affects only TYPE1415 variable DEVICE.                
Change 01.16   Comments were corrected. This undocumented eXtra module  
XTEACH       shows how to used SAS to interact with a person at a TSO   
Feb 14, 1985 terminal (in this case, to teach arithmetic).              
Change 01.15   Added variable TASKCPTM to CICSYSTM data set. See MXG    
VMAC110        NEWSLETTER for a discussion of CPU measures in CICS      
Feb 14, 1985   monitoring facility data.                                
Change 01.14   Cross reference utility was cleaned up, reports were     
UTILXREF     re-ordered, and the reports titled.                        
Feb 14, 1985                                                            
Change 01.13   Enhancements to support Version Two                      
VMACSMF      a. END=ENDOFSMF added to INFILE statement. This can be used
Feb 14, 1985    to check for the end of the SMF file in user exits.     
             b. Corrected error in Change 1.8. The end of file mark in  
                the VSAM SMF data is either :'SMF EOF' or :'SMFEOF'.    
             c. ZDATE variable  (zee date zee data was processed  by zee
                MXG  code)  created and formatted.  ZDATE was also added
                to the KEEP list for all MXG data sets.  ZDATE  is  used
                to  define  the  date of an observation, as discussed in
                Chapter Thirty-Five, in building weekly and monthly PDB.
             d. IMACFILE include added to allow selection of SMF records
                to an OS file during MXG processing. See comments in the
                member for further uses (like deleting bad SMF records).
             e. PREVTIME, which contains the time stamp of the previous 
                SMF record, is no longer updated for type 2 or 3 records
                because their timestamp is always out of sequence. This 
                will improve the accuracy of DOWNTM in TYPE0 data set.  
             f. SYSTEM changes to $CHAR4. vice $4 (because it is faster 
                and more accurate) and an INFORMAT added (to prevent an 
                obscure potential error).                               
Change 01.12   Device VIO and MSS not properly decoded.                 
Oct 11, 1984 a. In lines 14 and 16, replace IF with ELSE IF.            
   Thanks to Sun Mei DeGrange, Shared Medical Systems, USA.             
Change 01.11   Average working set size variables (...WKST) are wrong.  
RMFINTRV     a. In lines 240, 253, 271, 2, 84, and 297, change          
                 to read:                                               
   Thanks to Leo Zimmerman, DuPont, USA.                                
Change 01.10   DEVNR altered incorrectly for VIO, MSS in MVS/370.       
IMACCHAN     a. Change line 31 from                                     
NEWSLTRS      IF NOT MVSXA THEN DO:                                     
Oct  3, 1984   to read:                                                 
             b. In NEWSLETTER I.3,  the four blanks were not printed,   
                which caused DEVICE name in TYPE1415 to be truncated.   
   Thanks to Sun Mei DeGrange, Shared Medical Systems, USA.             
Change 01.9    PCTTRIV is uninitialized in the RMFINTRV data set.       
Sep 26, 1984 a. insert new line after line 497:                         
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.      
Change 01.8    End of file mark in the VSAM SMF file was changed by IBM 
VMACSMF        to be SMFEOFMARK as expected.                            
Sep 26, 1984  -Change line 39 to test for SMFEOFM instead of SMFEOF.    
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.      
Change 01.7    CPU Type 3081-D under MVS/XA produced  MXG error message.
VMAC7072       The CPU version number value in the code was misspelled. 
Sep 25, 1984  -Change line 863 to test for CPUVERSN=03 instead of the   
               test for CPUVERSN=02 to set the SSEC value of 276.3.     
   Thanks to Ron Hensley, State of Alaska, USA.                         
Change 01.6    VMAC110 data sets built from a CICS Journal file (instead
VMACSMF      of from SMF) contain invalid SYSTEM value.                 
Sep 25, 1984 a.   Change  @4+OFFSMF  SYSTEM to @11+OFFSMF SYSTEM in line
   Thanks to Howard Winestock, Florida Light & Power, USA.              
Change 01.5    Variable VIRTREAL  should  not exist in TYPE35 data set; 
VMAC30         it has meaning only in the step records in TYPE34.       
Sep 25, 1984  -Remove variable VIRTREAL from line 111 (which   is  part 
               of the KEEP list for data set TYPE35).                   
              -Remove line 514, which is the label for VIRTREAL in the  
               TYPE35 label statement.                                  
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.      
Change 01.4    Average Device Service time not calculated for MVS/370.  
VMAC74       a. Insert new line after line 144:                         
Sep 25, 1984 AVGRSPMS=10*DURATM*DEVBUSY/SIO74CNT;                       
             b.  On page 740, variable AVGRSPMS description, replace the
             MVS/XA  note with:  This is the average device service time
             per SIO.                                                   
   Thanks to David Henley, Healthnet, USA.                              
Change 01.3    TSO/MON Variable CPUTM was never defined.                
Sep 25, 1984 a. Insert new line after line 322:                         
   Thanks to Shirley Linde, Mitre at NASA, USA.                         
Change 01.2    Control/IMS has been renamed by Boole and Babbage to the 
VMACCIMS     IMS Performance Reporter. Several variables were wrong.    
Sep 25, 1984 a. Offsets for the time part of ARRVTIME are in error.     
             Lines 202-204 now read:        Must be changed to read:    
               @79+OFFIMS HR   PK1.           @81+OFFIMS HR   PK1.      
               @80+OFFIMS MIN  PK1.           @82+OFFIMS MIN  PK1.      
               @81+OFFIMS SEC  PD2.1          @83+OFFIMS SEC  PD2.1     
             b. CPUCDLTM incorrectly set to missing some times.         
             Change line 256 from   IF CPUMOPTM=0 THEN CPUCDLTM=.;   to 
             IF CPUMOPTM=0 THEN CPUMOPTM=.;                             
   Thanks to Shirley Linde, Mitre at NASA, USA.                         
Change 01.1    Reference to member JCLDBANL on page 815 is now deleted, 
ANALDSET     as the JCL for data set analysis is in the member ANALDSET.
JCLDBANL     The following changes must be made to member ANALDSET:     
Sep 25, 1984 a. After SYSIN DD for Step STEPSMF, in the BY statement,   
                change SORTTIME to INITTIME.                            
             b. After SYSIN DD for Step STEPPDB, in the PROC SORT       
                statement, change SORTSTEP.STEPS to SORTSTEP.SORTSTEP.  
             c. After SYSIN DD for Step COMBINE, in the SET statement,  
                change SORTSTEP.STEPS to SORTSTEP.SORTSTEP.             
   Thanks to Henry Staffi, Carborundum, USA.                            
LASTCHANGE: Version  1                                                  
ANALBNCH - Replace IN in line 3300 with MIN.                            
CLSTIMER - Replace EIGHTEEN in line 500 with TWENTY.                    
JCLUXREF - Replace STEP2 in line 300 with STEP1.                        
UTILPRAL - Replace 3200 in line 1100 with 3400.                         
UTILXREF - Replace DDDNAME in line 3400 with DDNAME.                    
UTILXREF - Insert ) in line 4100 before BY.                             
UTILXREF - Replace PDB in lines 2200 & 2300 with DATABAS1.              
VMAC30   - Replace LITTERAL in line 79100 with LITERAL.                 
p. 217. In code, replace RPTCICS (twice) with ANALCICS.                 
p. 309. In code, replace MGX (twice) with MXG.                          
p. 316. In 2nd paragraph of text, JCLTEXT should be JCLTEST.            
p. 316. In last example, SOURCELIB should be SOURCLIB (twice).          
p. 322. In 3rd line from bottom, TEXT DD should be TEST DD.             
p. 371. Under SMF manual third line, the TNL is GN28 vice GN25          
p. 373. 2nd entry, change Henning to Hemming.                           
p. 496. TIOESTTA bit 7 DASD, change dtaa to data.                       
p. 597. Penultimate line, change IMACINTY to IMACINTV.                  
p. 808. Text under CMD, change MG080CM to MG090CM.                      
p. 815. Remove line refering to JCLDBANL.                               
****END OF CHANGES.  MXG VERSION 2***********