COPYRIGHT (C) 1984-2025 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 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 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
PUNODE.
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,
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 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.
VMAC26J3 Variables SPOOLREC, ESTBYTE, ACTBYTE, ESTPAGE, and ACTPAGE
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.
RMFINTRV
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.
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 01.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 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:
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 01.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 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
570.
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.
VMACTSOM
Sep 25, 1984 a. Insert new line after line 322:
CPUTM=CPUTCBTM+CPUSRBTM;
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
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***********