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

CHANGE 02.02

 
=========================member=CHANGE02================================

  /*  COPYRIGHT (C) 1985 BY MERRILL CONSULTANTS DALLAS TEXAS */

  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.


II. CHANGES TO MXG.SOURCLIB WHICH HAVE BEEN MADE:

NEXTCHANGE: Version  1

Change 1.41  Macro added to name  the DD  of the  CICSYSTM, CICSEXCE,
ANALCICS     and CICSACCT data sets for consistency with JCLTEST.
Mar 29, 1985


Change 1.40  Member TYPE80 and VMAC80 now process most of the info in
TYPE80       the type 80 record written by RACF.
Mar 25, 1985


Change 1.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 1.38  This change documents many minor changes.
Many         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 1.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 1.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 1.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 1.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 1.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
                PUNODE.
   Thanks to Gary Zolweg, National Semiconductor, USA.

Change 1.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,
                OVERMAXTM, SMDRPCNT, TERMNAME, TERMTYPE, USRTHKTM
                variables.
             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 1.31  Support added for IMS 1.3 records written by Control/IMS or
VMACCIMS     IMS Measurement Facility, a Boole and Babbage Product.  See
Feb 14, 1985 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 1.30  Two occurrences of '1to' were changed to '1 to' in VMAC76.
Nits         ABEND value of CANCEXIT is only seven characters, CANCEXI,
Feb 14, 1985 in VMAC30

Change 1.29  Changes introduced in the updates SMF manual were added.
VMAC26J3     Variables SPOOLREC, ESTBYTE, ACTBYTE, ESTPAGE, and ACTPAGE
Feb 11, 1984 now exist.

Change 1.28  Changes introduced in the updated SMF manual (now -2) were
VMAC6        added. MVS/370 variable DATAERR now exists in MVS/XA. For
Feb 14, 1985 JES3, variables FONT, OVLY, and PAGE are created.

Change 1.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 1.26  Variables BATCHMAX, STCMAX, and TSOMAX are now created, and
RMFINTRV     temporary data sets RMFCOMMN, RMF78D0, and R78HOUR are  now
Feb 14, 1985 deleted.
   Thanks to ???, SAS Australia.

Change 1.25  Data sets TYPE78PA and TYPE78SP (virtual storage 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 Joseph Faska, Chemical Bank, USA.

Change 1.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 1.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.
RMFINTRV
Feb 14, 1985

Change 1.22  DOWNTM calculation now made only if the previous record was
VMAC0        from the same system, and the result is non-negative. The
Feb 14, 1985 variable is also formatted TIME12.2.
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.


Change 1.21  TYPETASK value for JES3 is now consistent with JES2 values.
VMAC30       JES2 JOBID begins with JOB, TSU or STC but JES3 JOBID has
Feb 14, 1985 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 1.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 1.19  Include for IMACJBCK, the Job Check routing to select only
VMAC16       certain Jobnames, Readtime, etc., was added.
Feb 14, 1985

Change 1.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 1.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 1.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 1.15  Added variable TASKCPTM to CICSYSTM data set. See technical
VMAC110      topics in MXG NEWSLETTER for   a discussion of CPU measures
Feb 14, 1985 in CICS monitoring facility data.

Change 1.14  Cross reference utility was cleaned up, reports were
UTILXREF     re-ordered, and the reports titled.
Feb 14, 1985

Change 1.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 1.12  Device VIO and MSS not properly decoded.
VMACUCB
Oct 11, 1984 a. In lines 14 and 16, replace IF with ELSE IF.
   Thanks to Sun Mei DeGrange, Shared Medical Systems, USA.

Change 1.11  Average working set size variables (...WKST) are wrong.
RMFINTRV     a. In lines 240, 253, 271, 2, 84, and 297, change
Oct 11, 1984   IF MSOCOEFF GT 0 THEN ...WKST=4*MSOUNITS/(MSOCOEFF*50);
                 to read:
           IF MSOCOEFF GT 0 THEN ...WKST=200*MSOUNITS/(MSOCOEFF*SSEC);
   Thanks to Leo Zimmerman, DuPont, USA.

Change 1.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:
   IF NOT MVSXA AND DEVICE NE 'VIO    ' AND DEVICE NE 'MSS    ' THEN DO;
             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 1.9   PCTTRIV is uninitialized in the RMFINTRV data set.
RMFINTRV
Sep 26, 1984 a. insert new line after line 497:
              IF TSOTRAN GT 0 THEN PCTTRIV=100*TRIVTRAN/TSOTRAN;
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.


Change 1.8   End of file mark in the VSAM SMF file was changed by IBM to
VMACSMF      be SMFEOFMARK as expected.
Sep 26, 1984 a.  Change line 39 to test for SMFEOFM instead of SMFEOF.
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.


Change 1.7   CPU Type 3081-D under MVS/XA produced an MXG error message.
VMAC7072     The CPU version number value in the code was misspelled.
Sep 25, 1984 a.  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 1.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
             570.
   Thanks to Howard Winestock, Florida Light & Power, USA.

Change 1.5   Variable  VIRTREAL  should  not exist in TYPE35 data set;
VMAC30       it has meaning only in the step records in TYPE34.
Sep 25, 1984 a.  Remove variable VIRTREAL from line 111 (which  is  part
             of the KEEP list for data set TYPE35).
             b.  Remove line 514, which is the label for VIRTREAL in the
             TYPE35 label statement.
   Thanks to Chuck Hopf, Computer Language Research (FASTAX), USA.

Change 1.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 1.3   TSO/MON Variable CPUTM was never defined.
VMACTSOM
Sep 25, 1984 a. Insert new line after line 322:
             CPUTM=CPUTCBTM+CPUSRBTM;
   Thanks to Shirley Linde, Mitre at NASA, USA.

Change 1.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 1.1   Reference to member JCLDBANL on page 815 should be 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

III. TYPOGRAPHIC CORRECTIONS TO MXG CODE CONTAINED IN VERSION 2.

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.


IV. CUMULATIVE TYPOGRAPHIC CORRECTIONS TO THE BOOK

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***********