COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 06.06
=========================member=CHANGE06================================
/* COPYRIGHT (C) 1989 BY MERRILL CONSULTANTS DALLAS TEXAS */
This is the true production release of MXG Version 6.6, Jan 21, 1989.
The library is now at Change 6.213 (NEWSLETTER THIRTTEN said 6.206).
MXG now produces 552 datasets with 18070 variables from 910 members.
The enhancements, installation instructions, compatibility issues,
documenation location, for MXG Version 6 are in Newsletter THIRTEEN,
which is now contained in member NEWSLTRS of the MXG Source Library.
YOU MUST READ THAT NEWSLETTER BEFORE INSTALLING MXG VERSION 6.6.
Newsletter THIRTEEN additionally contains Administrative Announcements
Technical notes and enhancements planned for the next version of MXG.
After you have read NEWLETTER THIRTEEN, you will need to return to
this member to read the changes themselves, as much of the technical
information is contained in the detail change descriptions herein.
Note especially that Change 6.206 in this member has been changed
from that printed in MXG Newsletter THIRTEEN. The time between the
printer and tape building allowed enhancements and more consistent
naming conventions for the members which control the new Trend Data
Base enhancement. Note these related features implemented in that
change:
The %VMXGSUM macro is a very powerful generalized algorithm to create
organized summarization of complex SAS data sets with a simple series
of parameters. Its use will go far beyond its first implementation
here in the Trend Data Base.
The ASUMCICS member uses %VMXGSUM to create Hourly CICS service
objectives (percent transactions responses in less than 1,2,3,5,8, 15,
etc. seconds) for each User, Transaction and Terminal, in the new
PDB.CICS data set. The ASUMJOBS member uses %VMXGSUM to similarly
calculate IWT (Initiation Wait Time) distributions hourly by job class
(percent jobs initiated in 2, 5, 15, 30 min, etc.) in the new
PDB.JOBSKED data set. These members implement the measurement of
service objectives as described in Chapter Eight.
%VMXGSUM is used in a different fashion in the four Trend Data Base
building members TRNDCICS, TRNDJOBS, TRNDRMFI, and TRND72, which take
the weekly PDB data sets and the Trend-to-Date accumulation and
produce the new updated trend-to-date ("five years in five CYL") data
base. These members, which can be executed after the weekly PDB has
been built with JCLTREND, provide the long range tracking, trending
and capacity modeling demonstrated in the graphs in Chapter Forty-Two.
Member GRAFTRND provides ready-made 18-month graphics.
The MXG Trend Data Base is a brand new implementation using new style
%MACROs to create a series of a DATA and PROC steps. It has not had
the intense testing the remainder of MXG Version 6 received (444 MXG
users have been using a pre-release of Version 6, many installing it
in a production mode). Thus, while I think it is real good, I reckon
it might still have a few cobwebs I missed. If you have problems in
using these new %MACROS, look real careful that you did not fail to
terminate every parameter with a comma. The %MACRO facility is
equally powerful and equally unforgiving. I almost included the
ASUMCICS and ASUMJOBS members in BUILDPDB to build PDB.CICS and
PDB.JOBSKED by default, but at the last minute decided it had not been
tested widely enough to justify that design. Do not hesitate to let
me know what was missed and what should be added.
Yes, VMers, the Trend Data Base implementation at present is only for
the MVS data sources. The %VMXGSUM macro, however, is there for the
using yourself, until next version, when there really will be support
for the VM Trend Data Base and the VM/XA Trend Data Base as well!
==========================Changes Log==================================
All changes listed below have already been made in this MXG library.
Some of the changes contain the code with line numbers, because those
changes were provided by telephone prior to this production shipment.
You MUST read each Change description below to determine if a Change
will impact your installation. For each impacting change, you should
also read the comments in the beginning of the source members that
are listed under the change number. Notes, comments, and last minute
documentation are usually found in comments in changed members.
NEXTCHANGE: Version 6
=============Changes thru 6.213 as of Jan 21, 1989 ===================
Change 06.213 Talk about making it under the wire, as I was headed to
XMACEPIL the data center to build the production tapes, the mail
Jan 21, 1989 delivered the Candle documentation of changes in their
EPILOG 1000 for CICS Version 440 record formats! Because
the records are changed in so many places, and because I
did not have test data for validation, this new member
contains syntax tested code only, and only applies to
Version 440 records, which are incompatible with their
Version 430 records. See comments at beginning of this
new member. There are 46 new variables (at the end of
the KEEP= list, starting with BI4GLPGM), and there were
21 variables removed (see blanks where they used to be
in the KEEP= list, compared with VMACEPIL member!)
Thanks to Ashok Argarwala, Candle Corporation, USA.
Change 06.212 The SAS supplied EXEC for SAS under CMS does not test to
EXECDALY see if you issued a GLOBAL MACLIB statement to CMS before
REXXDALY you invoked SAS. The SAS EXEC itself issues a GLOBAL
Jan 19, 1989 MACLIB statement for the AUTOEXEC MACLIBs. Since the MXG
execution instructions under CMS (p. 24, MXG Supplement)
tell you to GLOBAL MACLIB USERID SOURCLIB and then type
SAS, the concatenation of USERID and SOURCLIB MACLIBS
is disconnected by SAS's EXEC, and your MXG program may
fail with "Member Not Found". The simplest solution to
execute MXG under CMS SAS is probably to create your own
copy of the SAS EXEC, and add the USERID and SOURCLIB
names to the list of MACLIBs globalled therein. The SAS
Institute plans to change their EXEC in a future version
to check for GLOBAL MACLIBs first, and if found, to add
SAS's desires to your already stated command.
Thanks to Steve Morton, SAS Institute, England.
for bringing this to my attention.
Change 06.211 The RACF report for Insufficient Authority now includes
ANALAUDT the INTENT and ALLOW values, and for RACFAUTH='10'X the
Jan 19, 1989 AUTHRITY=AUDIT was corrected to AUTHRITY=SPECIAL.
Thanks to Wing Louie, Metropolitan Life, USA.
Change 06.210 Newsletter THIRTEEN went to the press on Monday, and it
TYPEIMS said IMS FASTPATH log records were not supported in 6.6.
Jan 19, 1989 I had really planned to add it during this week while
the newsletter was at the printer and while my QA tests
were executing. SAS Europe had provided me with test data
and a copy of DBFULTA0 output for validation. I had the
printed assemblies of ILOGREC RECID=ALL for IMS 1.3,2.1,
and 2.2 at hand, as they contain the DSECTs of all IMS
log records. When what to my dismay, do I find that IBM
does not print the format of the X'59' FASTPATH IMS log
records, even when TYPE=ALL is specified. I have been on
the phone to IBM support with still no answer as to how
or where these records are documented, and I have run out
of time. Well, there's always the next version. Sorry!
Of interest, however, was IBM Level One's sincere comment
that no one knew much about fastpath, because they only
rarely get a call about fastpath!
Footnote: Two Level 1 calls and one Level 2 call later,
but only hours before the production building of MXG 6.6
begins, I did get at least the DBFK.... member names in
DCSOURCE that are supposed to contain the needed DSECTS!
Change 06.209 The response time (RESPNSTM) in the IMSTRAN data set was
TYPEIMS incorrect in some cases when multiple transactions were
Jan 17, 1989 processed per program schedule (eg., WFI). The reason
was that in step 8 the merge of input and output records
did not match in all cases; if an output record is missed
the original code merged the input record with the NEXT
output record. The result was an increasing RESPNSTM
for MULTRANS as much as the time of day continues!!! The
logic now balances the timestamps when output records are
missing by recognizing the condition and then setting the
values missing. An output record will be missed for any
transaction which had not completed when the IMS log was
dumped, but the effect of a single missed output record
was propagated into several IMSTRAN observations.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 06.208 VM/Monitor fields which were divided by 16384 appear to
VMACVMON be slightly in error; the correct divisor should have
Jan 17, 1989 been 16666.666 (which is 1000000/60).
Thanks to Rob Owens, SAS Institute Europe, GERMANY.
Change 06.207 DB2 Trace records, when written to GTF only, are limited
Jan 17, 1989 to 280 bytes (a 24-byte GTF header, and 256 bytes of DB2
trace data per record). The most important trace records
fit in the 256 byte limitation, but Trace events needing
more than 256 bytes are internally "spanned" by DB2 into
several GTF records. Unfortunately, these are not valid
VBS records, and are not straightforward to decode. The
MXG 6.6 support for GTF format DB2 trace data processes
only the un-spanned records at present. If a real need
exists (only startup records are spanned thus far), we
will investigate enhancing the MXG algoritms with you.
I still think GTF is the wrong place for DB2 Trace. In
the first place, the detail accounting reports in member
ANALDB2R meet the needs of almost all DB2 administrators,
and trace should be limited to special occasions. If you
must trace, you should use good sense and SMF files, and
"To ensure adequate buffers exist, specify CISZ(4096)
and BUFSP(81920) for each SMF VSAM data set"
as IBM recommends in SC26-4095-2.
----Changes thru 6.206 were printed in MXG Newsletter THIRTEEN-------
Change 06.206 The MXG MVS Trend Data Base preliminary implementation.
ASUMCICS This series of members are the beginning of the long
ASUMJOBS overdue (almost "fabled") enhancement to provide for
GRAFTRND the long term trending of response, resources, etc.,
IMACSHFT in a very small data library referred to as the Trend
JCLTREND Data Base. More will be written later on its use, but
PDBTREND for starters, PDBTREND will build an initial trend data
TRNDCICS base from the past and thereafter JCLTREND will update
TRNDJOBS the past weeks data into the Trend Data Base, and give
TRNDRMFI management-pretty reports for the past eighteen months
TRND72 trends! The member naming conventions to be used are
VMXGDUR ASUM.... for the first summarization from detail data
VMXGSUM into an interval (eg., hourly) from PDB input back into
Jan 15, 1989 a new data set in the same PDB and TRND.... for second
summarization from one interval (eg., hourly) into a
diffeent (eg. week-shift), from WEEK input combined
with existing TREND to create updated TREND data set.
ASUMCICS - Creates CICS interval summary and response buckets
from detail transaction data (CMF or Landmark!).
GRAFTRND - Graphs of CPU capacity with simple linear regression
prediction CPU usage from TREND.RMFINTRV. See member.
IMACSHFT - Existing IMACSHFT was modified to return both a SHIFT
variable and the start-time of the shift for TREND.
To be compatible with TREND, you must replace your
present IMACSHFT with this new member. The internal
logic was restructured to pass back a modified value
for the inputted variable DATETIME, but there was no
change in the value of SHIFT passed back by IMACSHFT.
JCLTREND - Example JCL to execute weekly after your weekly PDB
has been built, to update the existing Trend Database
with the new week's data. This usually is best run
after you have examined your weekly runs, as there is
no supplied code for backout if you mess up!
PDBTREND - Create your Trend Data Base for the past directly
from weekly SMF files or already build weekly PDBs.
Start here, and work backward in history as far as
you want to go. Each execution adds another week to
your Trend Data Base.
TRNDCICS - Builds TREND.CICS dataset.
TRNDJOBS - Builds TREND.JOBS dataset.
TRNDRMFI - Builds TREND.RMFINTRV dataset.
TRND72 - Builds TREND.TYPE72 dataset.
VMXGDUR - Calculates durations of HOUR, DATE, WEEK, MONTH.
Will optionally calculate SHIFT using IMACSHFT.
Input variable DATETIME contains the timestamp to
be examined. Will calculate SHIFT using IMACSHFT
and will reset DATETIME to the timestamp of the
beginning of the shift interval.
VMXGSUM - The heart and soul of MXG summarization. Contains
multiple macros which make it act like a PROC
that lets you summarize detail data into interval
data and interval data (eg. hourly) into other
intervals (eg., weekly), taking into account the
things like rates and percentages which must be
expanded, summed, and then contracted in the
summarization process. "Self-Documented" - ha?
Thanks to Chuck Hopf, Hopf Consulting, USA.
for lots of help with %macro implementation.
This is the essence of the system which generated the graphs in
Chapter 42 of the MXG Guide. Five years data in five cylinders!
Change 06.205 Several graphics enhancements were made to make MXG
GRAFRMFI co-exist better with SAS/GRAPH. Device selection in
VMXGGOPT GRAFRMFI is now enabled with the new %VMXGGOPT macro
XADMDEFS which added support for IBM3179, IBM3279, IBM3287,
Jan 15, 1989 ZETA887, TCX4107, IBM3800, and especially for SAS/PC.
Member VMXGGOPT allows for the dynamic selection of
graphic devices; see documentation in that member.
XADMDEFS is also referenced in VMXGGOPT; it provides
the GDDM ADMDEFS for IBM 3800 and 3820 graphics.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.204 MXG had provided FMXGUCBL and VMXGVTOC to capture DASD
ASMVVDS space management data, but VTOCs do not provide data on
EXTYVVDS VSAM files. This contracted enhancement now provides
IMACVVDS DASD Space management for VSAM files. Instead of the
JCLVVDS VTOC, space information on VSAM data spaces is in the
TYPEVVDS VVDS, located on each volume which contains VSAM data
VMACVVDS spaces. MXG provides the Assembly source code and the
Jan 15, 1989 JCL to create the ASMVVDS program in member ASMVVDS.
Once assembled, program ASMVVDS can be executed by the
JCL in JCLVVDS, and the VVDS data is extracted and then
written to a flat file, or (my recommendation), can be
written as an SMF record. Once the VVDS data is in the
flatfile or SMF record, member TYPEVVDS will create
the MXG dataset TYPEVVDS which can be then used to
measure, manage, and charge back VSAM DASD space.
See comments in member ASMVVDS; this program must be
authorized to read the VVDS.
Change 06.203 Although no data has been made available from VM/370
IMACVMON Release 6, comparison of IBM's documentation and the MXG
Jan 15, 1989 code in VMACVMON strongly suggests that MXG will support
the Release 6 records, provided only that both the _HPO
and _MP macros defined in IMACVMON are enabled. In fact,
both were required enabled for Release 5 with or without
HPO. The defaults have now been changed to enable both
_HPO and _MP since few new MXG sites will come up on 4.2!
This should not affect current MXG sites, since you have
already tailored IMACVMON into your USERID.SOURCLIB and
that member will override the new defaults in MXG!
Change 06.202 NPM 1.3 type 28 support was enhanced to include subtypes
FORMATS x60-x62 (new with Network Gateway Accounting), and the
VMAC28 additional variables added to the MSA, BAS, BAN, and NTK
Jan 15, 1989 segments. No NGA data has been available for testing, but
having the code in place means that you won't need a new
version of MXG when you install NGA later this year. IBM
really came through in time with this documentation!
Change 06.201 DB2 Trace records processing code has been enhanced to
IMAC102 read most new fields added by DB2 Version 2.1. This is
IMAC102A also a major restructure of the code. Not all of the new
IMAC102B subtypes have been tested against 2.1 data, so there is
VMAC102 a slight risk in using the type 102 code in this version
Jan 14, 1989 of MXG. A new macro, _DB2IID is defined in IMAC102 that
can be used to delete specific IFCID (subtype) values if
there are any problems. All TRACEnn labels were removed,
and comments in IMAC102 identify which IFCIDs are in each
trace class.
Change 06.200 PROC DATASETS LIB=_IMSTRAN NOLIST;DELETE IMSTRAN; was
TYPEIMS removed, because SAS not only does not support deletion
Jan 14, 1989 if _IMSTRAN is a tape, but it creates a condition code
twelve! The purpose of the delete was to re-use the
same space on disk; thus if you create IMSTRAN data on
disk, you will need to do your own delete, eg.:
//SYSIN DD *
PROC DATASETS LIB=IMSTRAN ...
%INCLUDE SOURCLIB(TYPEIMS);
Thanks to Tim Follen, Blue Cross of Ohio, USA.
Change 06.199 DB2 data written to GTF is now supported by the use of a
ANALDB2R new _GTFDB2 macro added to VMACSMF. Members TYPEDB2G and
TYPEDB2G TYPE102G are their "no-G" members with _SMF replaced by
TYPE102G _GTFDB2. If you write DB2 trace data to GTF, you must
VMACSMF apparently specify the complete 0FB9 Event ID to GTF at
Jan 11, 1989 startup; Ron responded with only FB9 and the GTF records
unexpectedly contained EFB9 as their EID! The member
ANALDB2R was also enhanced with the new GTF= option to
use that data source for DB2 reports, and a new option
PDBOUT was added to create an output copy of the DB2
data sets if desired.
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 06.198 Support for COM-PLETE SMF Accounting Records creates four
EXCOMASR data sets, one from each of the four records. COMPULON,
EXCOMLON COMPULOF, COMPUCKP, and COMPUTRM correspond to ULOG On,
EXCOMLOF ULOG Off, Checkpoint, and program termination. Only the
EXCOMCKP COMPUTRM data records have actually been fully tested.
EXCOMTRM
IMACCOMP
TYPECOMP
VMACCOMP
Jan 11, 1989
Thanks to Karl Smit, Decision Support Services, SOUTH AFRICA.
Change 06.197 IBM's SNA Application Monitor "SAMON" Release 1.2 creates
EXSMOASR an SMF-format record for a SDXKSTA0 Statistics Data Set.
EXSMOAUR MXG creates six new datasets, SAMONASR,SAMONAUR,SAMONSSR,
EXSMOSSR SAMONTLR,SAMONTSR,SAMONUSR which are described in IBM's
EXSMOTLR SNA Application Monitor Operations and Diagnosis Guide
EXSMOTSR pp.86-98. Caution: no data records have been received
EXSMOUSR as yet, so this code has only been syntax checked.
IMACSAMO
TYPESAMO
VMACSAMO
Jan 11, 1989
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.196 This VM/370 report caused an error when no channel data
ANALVMDY was collected, because PROC TRANSPOSE does not create the
Jan 10, 1989 COLn variables when there is not input data. This causes
the RENAME COL1=BUSYPCT statement to fail. To fake out
the SAS compiler to avoid the error, the statement
IF COL1=. then COL1=.; was inserted after the RENAME.
This trick creates the numeric variable COL1 to satisfy
the SAS compiler, but does not change its value if it
already exists.
Thanks to Jay Cicardo, Southwestern Bell, USA.
Change 06.195 This paper on the VM/XA Monitor Facility will be
DOCVMXAF published later this year in a major journal, but
Jan 10, 1989 its author has been kind enough to share his work
with MXG users.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.194 The 1987 CMG Paper (Proceedings, pp.432ff), "A Method for
ANALCACH Reporting Cashed I/O Subsystem Performance", by Nancy
Jan 10, 1989 Nearing, Washington Consulting Group discussed methods
to depict cache performance characteristics, using both
RMF type 74 records and the RMF Cache DASD Reporter FDP
SMF records (MXG member TYPECACH). The report examples
in that paper are implemented in this contribution.
Thanks to Bruce L. Green, Medical Information Bureau, Inc, USA.
Change 06.193 RMDS enhancements suggested by this user led to a
VMACRMDS general cleanup of RMDS Version 3 SMF record code,
Jan 9, 1989 and capture of additional useful RMDS data fields.
Thanks to Jenell Ratterree, The Cooper Group, ENGLAND.
Change 06.192 HSM Processing. This is a significant contribution from
JCLHSM this user, a complete self-contained system. I have not
VMXGHSM really tested the code with real data. I simply put all
Jan 9, 1989 the macro definitions into a the single VMXGHSM member,
syntax tested the code with no input records. It will
be examined and documented in the future, and possibly
data set names will be prefixed with HSM
Thanks to Carole Larivee, System One Corporation, USA.
Change 06.191 Support for SMF records created by STC's 4400 tape silo.
EXSTCBLO Six data sets, STCBLOS, STCVARY, STCLSM, STCLMU, STCEJECT
EXSTCVAR and STCENTER are created for BLOS stats, VARY station,
EXSTCLSM modify LSM, LMU read statistics, cartridge ENTER and
EXSTCLMU cartridge EJECT.
EXSTCEJE
EXSTCENT
IMACSTC
TYPESTC
VMACSTC
Jan 8, 1989
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.190 Support for SQL/DS accounting records created under VM
EXVMSQLI has been written but has not been tested with data yet.
EXVMSQLS Four data sets, VMSQLINI, VMSQLSYS, VMSQLTRM, VMSQLUSR
EXVMSQLT are created for Initialization, System, Termination and
EXVMSQLU User events as described in SH24-5043-2.
TYPEVM
Jan 8, 1989
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 06.189 Several VMACROSC fixes: Variables VOLSER1-6 in data set
ANALROSA ROSCODSF now exist and are spelled DSFVOL1-6, and DSNAME
ANALRRTM and MEMBER were added. Code to process 'F4'X ROSREC was
DIFFROSC relocated to cause ROSCOSHU observations to be created.
VMACROSC The MONITOR='ATT' test was expanded to include 'AJO' too.
Jan 8, 1989 In DIFFROSC: START ISTART and IEND are now dropped after
their RETAIN (keeping START caused unexpected conflict
in ANALRRTM report). In ANALRRTM and ANALROSA all
divides are now protected against zero-divide error.
Thanks to Norbert Korsche, OMV-AG, AUSTRIA.
Change 06.188 Additional sets of workload variables are now created in
EXRMFINT RMFINTRV and labeled in EXRMFINT. MXG now creates five
IMACWORK new "OTHn" sets of variables (OTH0, and OTH6 thru OTH9).
RMFINTRV With the four predefined BATCH, TSO, CICS, and IMS groups
Jan 8, 1989 you have fourteen sets of workload variables available.
Comments in all three cited members have been (hopefully)
clarified on how to set workload definitions in IMACWORK
and to then label them in EXRMFINT. Variables CPUTYPE
and CPUVERSN (from type 70) were added to RMFINTRV. The
variable SIO73CNT now contains total SIOs/SSCHs from the
type 73 (if MVS/370) or type 78 (if MVS/XA).
Change 06.187 Support for Netspy Release 3.1 Level 3 new type V record
EXNSPYVR (Virtual Routes being monitored) creates new NSPYVIRT
VMACNSPY data set. Thanks Duquesne for releasing the format of
Jan 8, 1989 the new record before they ship their enhancement!
Thanks to Luis Motles, Duquesne, USA.
Change 06.186 MXG member naming conventions are changed by this change.
ANALDB2 Past members ANALDB2 and ANALROSC performed de-accumulate
ANALROSC using DIF() function, but since they produced no reports,
DIFFDB2 they should not have begun with ANAL. Now, they will be
DIFFROSC contained in new members DIFFDB2 and DIFFROSC. To keep
Jan 8, 1989 your present programs error free, there still are the
members ANALDB2 and ANALROSC on the MXG library, but they
now only %INCLUDE their respective DIFF.... member name.
All future SMF processing which requires DIF() will be in
members beginning with DIFF. At you convenience after
MXG Version 6 is installed, you should change references
to ANALDB2/ANALROSC in your USERID.SOURCLIB(EXPDBOUT) to
DIFFDB2/DIFFROSC (assuming, of course, that you even use
the MXG Exit Facility to process DB2 or ROSCOE SMF data
with BUILDPDB/3!)
Change 06.185 Support for Duquesne's TPX Session Manager SMF records
EXTPXAOF creates six new datasets: TPXSTART, TPXINTRV, TPXTRMON,
EXTPXAON TPXTRMOF, TPXAPLON, and TPXAPLOF. Because TPXINTRV data
EXTPXINT is written as accumulated, member DIFFTPX is required to
EXTPSSTA de-accumulate the interval data. MXG includes DIFFTPX in
EXTPXTOF TYPETPX automatically, but if you intend to read TPX data
EXTPXTON in BUILDPDB/3, you will need to include DIFFTPX in your
IMACTPX EXPDBOUT member.IMACTPX sets your chosen SMF record id.
TYPETPX
VMACTPX
Jan 8, 1989
Thanks to David Daner, Sun Refining and Marketing, USA.
Change 06.184 The text portion of all prior MXG Newsletters are now in
NEWSLTRS this new member (the "Change Log" portion of Newsletters
Jan 3, 1989 are in members CHANGEnn for prior MXG Versions and in
member CHANGES for the current MXG Version.) We choose to
put the Newsletters online so you can search for specific
items, and to (hopefully) eliminate the need for multiple
copies of the printed Newsletters for large sites. Does
this solution meet your needs?
Change 06.183 Variable BRFLDBNO in TYPE37 (Receive level in DBm) is an
VMAC37 IB2. and not PIB4. field.
Jan 3, 1989
Thanks to Claudia Ku, Farmers Insurance, USA.
Change 06.182 Variable TYPETASK from Type 30, which is propagated into
VMAC30 PDB.JOBS and PDB.STEPS, should contain JOB, STC, or TSU.
Dec 29, 1988 However, tasks started before JES (such as LLA, MSTR, SMF
BLSJ, JES, and DUMP) have their jobname in TYPETASK. With
this change, MXG forces TYPETASK to be STC if it is not
JOB or TSU, so that TYPETASK can accurately be used to
differentiate jobs, sessions and started tasks. Variable
TERMNAME (MVS/ESA, symbolic terminal name) contains the
TSO user's terminal name, but contains garbage for JOBs
and STC. (IBM failed to check before moving data - a PTF
will be issued eventually).
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.181 Type 74 processing was enhanced to include SKIP logic to
VMAC74 compatibly handle any future IBM changes in data length.
XMAC74 (I thought I had done this to all RMF code last year, but
Dec 29, 1988 must have overlooked this member.)
Change 06.180 DOWNTM estimate from type 0 SMF record will be zero if a
VMACSMF type 90 record (OPERATOR IPL response) precedes the IPL
Dec 28, 1988 record. To give a better estimate of when the last record
was actually created, the PREVTIME PREVSYS variables are
now retained only if it is not a 2, 3, or 90 SMF record;
(i.e., type 90 was added to the test.)
Thanks to Jeff Fox, SKF USA, USA.
Change 06.179 DOS POWER variable SYSID (system identification) was not
TYPEDOS kept in the MXG DOS..... data sets. Now it is.
Dec 28, 1988
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.178 For VM/370 Monitor data from sites with (a) nonzero value
VMACVMON of SYSTIME in their DMKSYS module, and (b) which process
Dec 27, 1988 concatenated VM/Monitor data, MXG incorrectly reset the
GMT time zone delta when the second 0/97 Monitor Start
record was encountered, causing STARTIME in MXG datasets
to change to GMT instead of Local, because two variables,
FFFFF and FRSTBASE were not retained in the first RETAIN
statement (line 304).
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.177 Continuing cleanup of VM/XA replaced several unnecessary
VMACVMXA variables in VXMTRSPR with SDOMAINS and HDOMAINS decoded
Dec 23, 1988 just like EDOMAINS in VXMTREPR to identify which domains
are active for Sampling, Hi-Freq, and/or Event data, and
CHANBYTM label was corrected (ANY channel active). Much
more significantly, the VXIODDEV and VXDEVTOT datasets
are now enhanced and contain the RDEVCLAS, RDEVTYPE, etc.
fields from the VXMTRDEV start-up records. Additionally,
the MXG logic to recognize a user logon failed once when
only 11 actual samples were counted by IBM in a 60 second
interval with hfrate of 5 seconds. Line 6194 was changes
to test (ZZQUCT+1) LT instead of ZZQUCT LT to hopefully
compensate for a lost sample. The implementation to add
device information requires a FILEDEF/DDNAME of INSTREAM,
(temporary, 3 tracks at most) during the creation of the
VXIODDEV etc. data sets. MXG writes SAS code to INSTREAM
filename and then %INCLUDEs INSTREAM to execute the PROC
FORMAT which is the table-look-up of device mapping.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.176 This error was only on the 6.5a and 6.5b pre-releases DB2
VMACDB2 type 101 record. Line 1275 took a finger fault. It should
Dec 20, 1988 read IF QWHCLEN GE 56 THEN .... instead of GE 46.
=============Changes thru 6.175 comprised MXG 6.5b pre=release =======
Change 06.175 The MXG exit code which creates SMF records from IDMS is
IDMSEX05 now updated for IDMS 10.2, due to this user. The ASM
IDMSEX13 code formerly in IDMSEXIT is now split into IDMSEX05 and
IMACIDMS IDMSEX13. Exit 05 creates SMF record 190 (was type 200)
VMAC200 and exit 13 creates SMF records 191-193 (was types 201
VMAC201 203 in IDMS 10.1). The same data sets (TYPE200-TYPE203)
VMAC202 are built, and member IMACIDMS tells MXG the actual SMF
VMAC203 type you choose. The variable ID has been added to the
Dec 19, 1988 four MXG data sets so you can tell which IDMS created the
particular SMF record.
Thanks to Ed Dassori, Whirlpool Corporation, USA.
Thanks to Keith A. Immink, Whirlpool Corporation, USA.
Change 06.174 The MXG option to read VM/XA MONWRITE output data and to
VMACVMXA then build "true" VB format records was not true, as four
Dec 16, 1988 extra bytes were embedded. (It worked in testing because
the _VMINPUT macro expected those extra bytes!). Both the
_OUTFILE and _VMINPUT macros were corrected to build and
read real VB data correctly!
Janice Radel, McDonnell Douglas Automation, St. Louis.
=============Changes thru 6.173 comprised MXG 6.5a pre=release =======
Change 06.173 The summarization of CICS transaction data from either
ASUMCICS IBM's CICSTRAN or Landmark's MONITASK into the PDB.CICS
Dec 6, 1988 dataset is accomplished by this program. MACROs defined
in the member determine the grouping (default is by
APPLID OPERATOR TERMINAL STRTTIME TRANNAME) and define
the interval summarized (default is hourly). Data set
PDB.CICS contains resources sums (CPU, I/O, characters)
maximum response, and eight buckets for response counts
of 1,2,3,4,5,8, 10 and over 10 seconds. This will be the
CICS part of the "Trend Data Base" to be implemented in
future.
Change 06.172 Preliminary reports for NPM 1.3 type 28 data sets is now
ANALNPMR available in this user's report contribution.
Dec 6, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.171 Support for Duquesne's DASDMON SMF records started with
ANALDMON the SAS code provided with the DASDMON product, but the
EXDMDSN code was redesigned to conform to MXG structure and was
EXDMJOBS validated with actual data. Some preliminary reports are
EXDMVOL also available in ANALDMON.
IMACDMON
TYPEDMON
VMACDMON
Dec 6, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.170 IDMS 10.2 Performance Monitor from Cullinet is a complete
EXIDMaaa re-design of the SMF record subtypes and contents which
IMACIDMS changed variable names and added new data sets as well.
TYPEIDMS This support replaces the TYPERTE and IDMS.... data sets
VMACIDMS built for the 10.1 PM. The 10.2 data sets now all start
Dec 5, 1988 with IDMS, but now have three letter suffixes: ARA,BUF,
CDM,DBK,INS,INT,JRL,LNE,PGM,RUS,STG,TAS,TAW,YPE instead
of four.
Thanks to Keith A. Immink, Whirlpool Corporation, USA.
Thanks to Roger Edwards, South Carolina Electric and Gas Co, USA.
Change 06.169 Support for Network System's Channel Extension equipment
EXHO15LK sequential file creates the HO15LINK and HO15TRNK data
EXHO15TK sets in this user contribution. See comments in TYPEHO15.
TYPEHO15
Dec 5, 1988
Thanks to Rodney L. Reisch, General Electric Plastics, USA.
Change 06.168 VM/SP Monitor data sets VMONCU and VMONDEV are created if
VMACVMON there was activity or queueing (formerly only activity
Dec 1, 1988 caused an observation in CU, and no-activity DEV records
created useless observations. More important, the data in
VMONCU is now merged with VMONDEV into a revised VMONDEV
data set which now contains new useful variables IORATE
PCTQUEDV, PCTQUECU, and MSPERIO (millisec of queue and
service per IO).
Thanks to Ron Roberts, The Equitable Life Assurance Society, USA.
Change 06.167 TSO/MON data set TSOMCALL KEEP= list contained variables
VMACTSOM NRTRIV1-NRTRIV8 which should have been NTRIV1-NTRIV8 to
Nov 28, 1988 KEEP the variables actually inputted!
Thanks to Ed Shigo, Plaza Technology Corp, USA.
Change 06.166 DB2 trace record. In VMAC102 after INPUT QWPZBPID PIB2.
ANALDB2R insert +2 and change next two fields from PIB2. to PIB4.
VMAC102 In ANALDB2R, reverse QWPZTOUT and QWPCISWT lines 2550-53
Nov 28, 1988 and line 2506 QWPZDBC should be QWPZAUTH.
Thanks to Ervin Claxon, Great Western, USA.
Change 06.165 NPM exception variables NPMDATA,NPMMONVL,LNAMLIM,NPMLOWER
VMAC28 and NPMUPPER were not created in NPMEVNCP or NPMEVNET.
Nov 23, 1988 Added to _VA28NAM list, and INPUT (PIB1.,+2,four PIB4.).
Thanks to Doyle Hanel, Compass Computing, USA.
Change 06.164 Support for CICS Version 2 Release 1 CMF Monitor Facility
IMACPTF verified by examination of the SC33-0507-0 Customization
Nov 22, 1988 Guide. Since IBM chose not to change SMFPSRVR's value, it
is not possible to differentiate between CICS 1.7 and 2.1
CMF records. Thus you must still update IMACPTF to tell
MXG the "pft's" installed as described in IMACPTF. There
are no significant changes documented in 2.1.
Change 06.163 Support for DB2 Version 2 Release 1 changes to type 100 &
ANALDB2 101 record added new variables:
VMACDB2 Data set DB2STAT0 (Type 100):
Nov 21, 1988 Q9STCTRE,Q9STCTRF,Q9STCTRG,Q9STCTRH
QWSDLR ,QWSDSCA ,QWSDSCU ,QWSDSCCO,QWSDSCRA,QWSDSCRS
QWSDSCWR
Data set DB2STAT1 (Type 100):
QXSETSQL,QB1-4TMIG,QB1-4TRTO,QB1-4TPIO
QTXASLMT,QTXACLMT,QTXACHUS,QTXASLAT,QTXASOTH,QTXALOCK
QTXAUNLK,QTXAQRY ,QTXACHG ,QTXAILMT,QTXANRUN,QTXAPREC
QTXARLID,QTXASLOC
Data set DB2ACCT (Type 101):
QWHCOPID,QB1-4CIMW
Change 06.162 Several lines removed to make ANALDB2R executable under
ANALDB2R PC SAS. No logical changes were involved. Code still gets
Nov 21, 1988 an error message under PC SAS (NODSNFERR and NOVNFERR are
not yet supported in 6.03) but code does run (slowly!!!)
Change 06.161 Further comparisons of VM/XA Monitor data uncovered two
VMACVMXA incorrect assumptions. SCMCNTIM, SCMFPTIM, and SCMDDTIM
Nov 18, 1988 (in VXIODDEV, connect, pending, and disconnect duration)
are in 128 microsec units, not timer units. RDEVRTPD (in
VXIODDEV, reserve duration) is ascending vice descending.
Thanks to Richard Steele, Louisville Gas and Electric, USA.
Change 06.160 Inserted ELSE PUT /; after line 2915 to put a blank line
ANALDB2R between DB2 AUTHID when only one plan was used.
Nov 18, 1988
Thanks to Allan Russell, SAS Institute Europe, GERMANY.
Change 06.159 -Change 6.129 was not fully tested, but only if you made a
BUILDPDB change to IMAC30IO does an error surface. Only MXG 6.5
BUILDPD3 was affected. In IMACPDB, after MACRO _SUMSTP replace the
IMACPDB lines EXCP thru IOTM with _IO30EX EXECTM _IO30TM after
IMAC30IO MACRO _MAXSTP change D3330DRV to _IO30DR, and after MACRO
VMAC30 _PDB30_4 add IOTMERR just before _IO30IO. In IMAC30IO,
Nov 28, 1988 remove IOTMERR. In VMAC30, add IOTMERR after INPRTY and
before _IO30IO in all three places.
-Change 6.150 created _CICACCT macro to control the DDname
to which CICSACCT dataset is written, but BUILDPDB/3 had
a temporary reassignment of _CICACCT to WORK, built the
WORK.CICSACCT data set in your WORK file and then SORTed
that data set to your _CICACCT.CICSACCT destination. With
large volume CICSACCT data sets this caused problems in
the size of the WORK data set. If you had wanted to use
a tape data set for CICSACCT, you still needed that much
DASD work space for sorting!
With this change, the CICSACCT data set is created direct
into the _CICACCT ddname and is not sorted in BUILDPDB/3.
If you set _CICACCT (in IMACCICS) to PDB, then BUILDPDB
will create PDB.CICSACCT (unsorted) you your PDB.
If your report programs expected CICSACCT to be sorted,
you may have a compatibility problem; you can use the PDB
exit member EXPDBOUT as follows to sort the dataset:
For a sorted CICSACCT dataset in the PDB on DASD:
Set _CICACCT to PDB in IMACCICS.
Then in EXPDBOUT, add:
PROC SORT DATA=_CICACCT.CICSACCT OUT=_CICACCT.CICSACCT;
BY whatever-variables-you-want;
For a sorted CICSACCT dataset on tape DDNAME of MYDATA:
Set _CICACCT to UNSORTED in IMACCICS.
Then in EXPDBOUT, add:
PROC SORT DATA=UNSORTED.CICSACCT OUT=SORTED.CICSACCT;
BY whatever-variables-you-want;
(When you put _CICACCT on tape, you cannot use the
same DDname for OUT= (you can't sort a tape onto
itself), and must use two tape DDnames, SORTED and
UNSORTED, cataloging SORTED and deleting UNSORTED.)
This is an impacting change for BUILDPDB/3 users.
Remember that if you don't want CICSACCT observations at
all, you can forget all of this stuff, comment out the
OUTPUT _CICACCT.CICSACCT statement in EXCICACC, and cause
zero observations to be created from the accounting data!
Thanks to Tracy Blackstone, Kaiser Permanente, USA.
Change 06.158 Member IMACJBCK allows SMF data for only selected job(s)
ANALALL to be processed; its comments were made clearer. It is
IMACJBCK now included in VMAC41 and VMAC6156. A new analysis is
VMAC41 added in ANALALL which will select all SMF records from
VMAC6156 a job, store the records in a SAS library, and will also
Nov 12, 1988 print all observations of all datasets in a SAS library.
This is a collection of several utilities I have found
useful in examining specific job detail resources.
Change 06.157 RMF 4.1.1 creates Monitor III data in new subtype 2 of a
BUILDPDB type 72 record, which creates the new TYPE72MN dataset.
BUILDPD3 TYPE72MN is also created by BUILDPDB/3, and in the PDB it
VMAC72 is sorted by SYSTEM STARTIME PERFGRP. The RMF Monitor III
Nov 11, 1988 data is created for each PERFGRP and contains counts of
initiated, active, idle, out-ready, and DIV users, counts
of users delayed due to paging or swapping, pagein rate,
and memory usage (both total frames for the PERFGRP and
average frames per category of user) for frames held by
active, idle, out-ready, DIV users, ASM slots in use, and
fixed frames for the PERFGRP. For all memory measures,
(frames or slots) MXG has converted to bytes and uses the
MGBYTES format to show the memory measure in KB, MB, etc.
for more direct comparison of values.
Change 06.156 Support for the Hiperspaces in RMF 4.1.1 added two new
VMAC72 variables to TYPE72: HIPPGINS,HIPRDMIS (HIPER pageins and
Nov 11, 1988 read misses) by performance group period.
Change 06.155 Support for the Hiperspaces in RMF 4.1.1 added eight new
VMAC71 variables to TYPE71: HIPMIGRS,HIPREADS,HIPWRITS pagerates
Nov 11, 1988 migrated, read and written to/from ESTORE; HIPAGINS and
HIPAGOUT HIPER pageins/out, and HIPEXAV,MN,MX (average,
minimum and maximum HIPER pages in ESTORE).
Change 06.154 Support for VIO paging into ESTORE (implemented by PTFs
VMAC71 for APAR OY09186) added six new variables to TYPE71:
Nov 11, 1988 VIOMIGRS,VIOREADS,VIOWRITS (VIO page rates migrated, read
and written to/from ESTORE), and VIOEXAV,MN,MX (average,
minimum and maximum VIO pages in ESTORE).
Change 06.153 Support for the 3990-3 Cached DASD Controller CRR SMF
EXCAC90 data, "Cache DASD RMF Reporter" creates a new dataset
IMACACHE CACHE90 with new variable names, although it is quite
VMACACHE similar in structure to the existing CACHETY dataset
Nov 9, 1988 from the 3880-23 controller.
Thanks to John Chase, ???.
=============Changes thru 6.152 comprised MXG 6.5 pre=release =======
Change 06.152 MXG 6.5 Quality Assurance runs uncovered these glitches.
IMACKEEP Most were detected by specifically designed enhancements
TYPEVM to the UTILXREF cross reference utility.
VMAC535 a.@OFFSET+95 removed from INPUT TERMNAME in VMAC535.
DOC b.Extraneous % removed from IMACKEEP.
Nov 2, 1988 c.DEVICE renamed to DEVICEOR in new VMRSCS data set built
from VM/ACCOUNT data to avoid length conflict.
d.Variables with blank labels now have a label. In some
instances the label is simply the variable name, but this
ensures that a variables was not overlooked.
e.Some DATETIME variables were discovered to have length 4,
which caused a loss of the low-order resolution (seconds)
and now UTILXREF catches this coding error.
f.The most pervasive change touched every member which had
a character variable with a $MG.... format. Because MXG
located the FORMAT statement ahead of the INPUT statement
(so the source code reads better), and because SAS does
not work as I thought it did, the stored length of these
character variables in a FORMAT statement was taken by
SAS from the FORMAT statement, rather than being set by
the actual INPUT statement (as documented). The result
was that 8-bytes were being used where only 1-byte was
needed. The circumvention was to insert the affected
character variable in a LENGTH statement preceding the
FORMAT statement with the correct length (not all were 1
byte!). A problem has been opened with SAS to correct the
"design feature". If the character format is unknown in
the SAS System (eg, all $MG formats), SAS picks a length
of 8-bytes for the variable. Note, however that:
DATA;FORMAT X $HEX20.;INPUT X $1.;
causes SAS (mainframe and PC) to used 10 bytes storage
for the one byte variable.
g.All members touched by these LENGTH, FORMAT and LABEL
corrections were renumbered.
Change 06.151 The new PGPAGEIN and ACTFRMTM variables (page-ins and the
RMFINTRV resident frame-seconds by performance group period, new
Nov 2, 1988 with RMF 4.1 in TYPE72) look to be so useful that they
are now created in the RMFINTRV data set as rates by each
workload: BATPGIN,TSOPGIN... and BATFRTM,TSOFRTM, etc.
Change 06.150 Support for ROSCOE 5.6 added new variable USRPRFIX to the
VMACROSC ROSC.... accounting data sets. Another new field, record
Nov 1, 1988 version, is in the data record but not kept in MXG, as it
is there to identify future changes in their record.
Thanks to Paula Bryan, Ohio Edison, USA.
Thanks to John Carafella, CA (ex-ADR), USA.
Change 06.149 Reference to variable PRTY should have been PRTYJOB in
ANALDOS this DOS report example member.
Oct 30, 1988
Merci a M. Bernard, CRCAM de L'Aude, France
Change 06.148 All four CICS data sets built from type 110 CMF data can
EXCICACC now be directed to separate DD names. The existing macro
EXCICEXC _CICTRAN was unchanged, but the single _CICOTHR macro for
EXCICTRN CICSACCT, CICSEXCE and CICSYSTM data sets is replaced by
EXCICSYS _CICACCT, _CICEXCE, and _CICYSTM (defined IMACCICS with
IMACCICS the same default as _CICOTHR had). This change was needed
VMAC110 by some sites to split CICSACCT data away from the other
Oct 29, 1988 data sets.
If there is an IMACCICS member in your USERID.SOURCLIB
library, you MUST replace it with IMACCICS from this MXG
version so that _CICACCT, _CICEXCE, and _CICSYSTM exist.
If there is an IMACKEEP member AND you have overridden
the _VAR110 definition therein, you must prefix the data
set names CICSACCT, CICSEXCE and CICSYSTM with the new
macro names to avoid potential compatibility exposures
The syntax required is:
_CICACCT . CICSACCT
_CICEXCE . CICSEXCE
_CICYSTM . CICSYSTM
Change 06.147 CICSTRAN variable TRMCHRCN (intended to be total chars to
VMAC110 and from terminal) has always been too large. It was the
Oct 29, 1988 sum of in/out chars for both primary and secondary (alt).
Primary are actual chars transmitted, but secondary is
primary characters plus IRC control characters to/from a
remote region or system-to-system. Now that I know whats
in PRIINCHR,PRIOUCHR,SECINCHR, and SECOUCHR, TRMCHRCN is
the sum of only PRIINCHR and PRIOUCHR.
Thanks to Dale Doolittle, Barnett Computing Company, USA.
Change 06.146 Variable SU_SEC (from TYPE72, indicates processor speed)
RMFINTRV is now added to data set RMFINTRV to make normalization
Oct 29, 1988 of CPU times more reliable.
Change 06.145 TYPE74 variables PCTPNCHA, PCTPNCUB, and PCTPNDEV were in
VMAC74 the MXG Supplement (page 434) but not created nor kept in
Oct 29, 1988 the data set. Now they are.
Thanks to Myles McCarthy, Fidelity Systems, USA.
Change 06.144 Incorrect assembly of CICS 1.6 MCT after PTF UL10276 that
VMAC110 changed FCAMCNT length from 2 to 4 cause short record to
Oct 28, 1988 be written. MXG circumvents with new line 390.1:
IF _UL10276 THEN EXPLEN=EXPLEN+2;
Thanks to Greg Goshia, Westfield Companies, USA.
Change 06.143 Line 269 should be +145 instead of +158 for the NETSPY
VMACNSPY variable XDOMAIN to be correct.
Oct 28, 1988
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 06.142 A missing END statement in EPILOG CL 1000 code causing
VMACEPIL a syntax error was detected and corrected at 44700 (after
Oct 25, 1988 the statement BIETIME=BIETIME+CIGMTOFF;).
Thanks to Bruce Groeber, City Federal Savings, USA.
Change 06.141 "Nearly final" validation of VM/XA SP 1 and SP 2 corrects
VMACVMXA several variable's values, revised the reports to fit on
Oct 25, 1988 one line, added IODDEV summarization of I/O data into the
VMXAINTV data set, added and renumbered the 35 reports.
The logic for USER data was re-written to keep the first
user interval instead of deleting it (to capture the CPU
time to first interval).
Change 06.140 Continued enhancement of DB2PM-like reports added and a
ANALDB2R revised version of GRAFRMFI which restores the GROUPing
GRAFRMFI which was lost pending a zap from SAS.
Oct 25, 1988
Change 06.139 CICS reports from Landmark's Monitor are now produced by
ANALMONI ANALMONI just like ANALCICS reports from IBM's CICS CMF.
TYPEMONI (Neither are anything to write home about, and will be
Oct 25, 1988 further enhanced in the future.) TYPEMONI was further
enhanced after Landmark 7.1 testing, and the logic in
de-accumulation of MONISYST re-written to properly take
in multiple systems data.
Thanks to Oystein J. Blix, Televerkets, Oslo, NORWAY.
Change 06.138 Support for SAS user SMF record (written by SAS provided
EXTYSASU exit described partially in SAS publication Y-103R which
IMACSASU is being re-written). The TYPESASU data set reports on
TESTUSER each DATA and PROC step's resource usage in a SAS job.
TYPESASU
VMACSASU
Oct 25, 1988
Change 06.137 Format MGBYTES now will handle Gigibytes and Terabytes
FORMATS (9999G and 9999T) if that many bytes are encountered (as
VMACDB2 was found in a VM/XA sites total paging space). DDNAME=
VMAC102 in PROC FORMAT is now LIB= (for PC-SAS and future).
Oct 24, 1988 New formats were added for QWHSIID and QWHSRMID variables
for DB2 Instrumentation ID and Resource Manager ID. Line
476 in VMAC102 was changed to RETURN from DELETE (with no
explicit OUTPUT statement, DELETE fell thru.)
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 06.136 Variables EXECTM and ELAPSTM for subtype 2 and 3 type 30
VMAC30 interval records (in dataset TYPE30_V) now are duration
Oct 20, 1988 of this interval, rather than from initiation of step.
Thanks to Marty Rhodes, Hertz, USA.
Change 06.135 Perverse issuance of VARY CPU command on all CPUs in one
RMFINTRV interval causes NRCPUS to be zero, causing zero divide!
VMAC7072 Now, test before divide is made where needed!
Oct 17, 1988
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 06.134 IDMS TYPERTE data set variable RT1DCTUT (User CPU time)
VMACRTE for IDMS transactions which came from CICS using UCF (ie.
Oct 17, 1988 application code executes under IDMS, CICS is used only
as a terminal handler) was incorrectly recalculated in
lines 823-824 (apparently a circumvention from the past).
The re-calculation was eliminated.
Thanks to Myles McCarthy, Fidelity Savings, USA.
Change 06.133 IMS Log processing END= logic lost the last record of the
TYPEIMS raw log datasets, causing missing values in at most six
Oct 17, 1988 observations in IMSTRAN data set.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.132 More DB2PM-like reports and enhanced friendliness are in
ANALDB2R this self-documenting replacement member.
Sep 26, 1988
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.131 The MXG error message text was changed to be more precise
IMACACCT if you encounter more job accounting fields than you told
Sep 26, 1988 MXG to expect.
Thanks to I. M. Ajzenszmidt, Australian Bureau Meterology, AUSTRALIA
Change 06.130 Support for Fujitsu's FACOM OSIV/F4 SMF data, due to
EXAIM.. major code contributions from the below named authors.
EXF1 Several classes of FACOM data records written to SMF are
FORMATS added by this change. First, PDLF (Performance Data Log
IMACFACO Facility) creates the type 127 SMF interval record; MXG
TESTFACO creates four TYPE127x datasets from member TYPEF127.
TYPEAIM. Second, FACOM SMF records type 1 and DSPRINT type 234
TYPEF... create datasets TYPEF1 and TYPEF234 datasets. Third, AIM
VMACAIM6 (Advanced Information Manager) database manager creates
VMACEXC2 type 110,111,112,113,116, and 117 SMF records which MXG
VMACF1 processes into 22 AIM11n_x datasets with member TYPEAIMx.
VMACUCB Fourth, VMACEXC2 and VMACUCB were modified to support VIO
XPDLPDA from FACOM MSP/E20 data (although you must edit IMACFACO
Sep 25, 1988 member to tell MXG you have MSP), and were also modified
to recognize 6421 disk devices in TYPE30xx, TYPE40, and
TYPE434 and PDB.STEPS and PDB.JOBS data sets. All other
SMF record written by FACOM appear to be compatible with
MXG SMF support. Twenty-eight new MXG datasets were added
by this change. Member TESTFACO (now a part of JCLTEST)
builds all FACOM data sets and is also presently the best
documentation. If Fujitsu will provide the format of the
PDL log data set, that data source will also be supported
but in the interim, if you have the PDA report program,
you can use XPDLPDA to read the report output format and
create PDL datasets much like I hope to build directly.
Thanks to David Fahey, Databank, NEW ZEALAND.
Thanks to Andrew J. Hood, Reserve Bank of Australia, AUSTRALIA.
Change 06.129 New member IMAC30IO defines a new macro _IO30IO which
IMAC30IO controls which I/O device counting variables (EXCP....,
IMACPDB IOTM....) are kept in the TYPE30_V, TYPE30_4, TYPE30_5,
VMAC30 TYPE434 and TYPE40 and PDB.STEPS and PDB.JOBS datasets.
VMAC40 No variables were removed from the previous default, but
VMAC434 the FACOM 6421 device was added (to be consistent with
Sep 25, 1988 the MXG default of keeping all possible variables). This
centralized control has been long overdue and should make
your life simple when you add/delete device classes in
the future. You should tailor this member for your site.
(To not keep the non-existent IOTM.... variables in the
TYPE434 and TYPE40 data sets, _IO30IO is actually made
up of _IO30DR (drive count), _IO30EX (EXCP variables),
and _IO30TM (IOTM variables). TYPE434 and TYPE40 use
only _IO30DR and _IO30EX so as not to change the size
of these obsolete data sets.)
Change 06.128 Support for Boole & Babbage IMF Release 2.5 was added. A
EXIMFDB2 new CIMSDB2 dataset, with one observation per transaction
VMACCIMS that accesses DB2 data, is created to count SQL activity.
Sep 23, 1988 Nine new variables (CPUDB2TM,EXTSSID,IMEUTRN,MSGDRRN,
PROGRAMB,TRNFCNT,TRNRESP,SQLCALL, and SQLCALLS) are added
to CICSTRAN data set. Fourteen new variables (BHTOON,
BILLOVHD,BMPNO,CPUDEP,CPUMDLTM,CPUNONE,DBIONONE,DBIOWAIT,
DEPRECN,EXTSSID,IMEUTRN,RGNIOPT,SQLCALL, and TRNSYNC, all
but two are one byte Y/N flags) are added to CIMSPROG,
and CPUMSKTM was renamed CPUCSKTM in CIMSPROG to reflect
that it is control region, not message region CPU time.
Not only did Boole provide documentation before shipment
of the new version, they also provided actual test data
for validation!!!! The major impact of IMF 2.5 is its
capture of DB2 resources used by IMS transactions, and
the ability to identify SQL activity for DB2 under IMS.
Note that the rename of CPUMSKTM to CPUCSKTM in CIMSPROG
requires you to make the same change, if you actually use
that variable in your IMS reporting.
Change 06.127 Zero divide error in NETSPY because test X2='80'X in line
VMACNSPY 358 to decrement TRANSNO should be X2='.1......'B. Also
Sep 23, 1988 this change added variable VLU (for virtual LU to applic.
session), sets SESSMGR only for session manager to applic
session, and no longer calculates targets if SESSMGR, as
targets are not only inappropriate, but data not valid.
It was interesting to note that NETSPY created 842 tracks
of 121,986 SMF records, but MXG needed only 479 tracks to
store 73,491 LU, 64691 LINE, 1935 APPL and 544 NCP obs,
or 40MB SMF was stored in 22MB of SAS data libraries.
Thanks to Gary Zolweg, National Semiconductor, USA.
Change 06.126 Pre-release 6.4 spelled SQAFXMX as SQAVXMX in the KEEP
VMAC22 list for TYPE71 data set, and the second LSQAEXAV in the
VMAC71 KEEP list for TYPE71 should be LSQAEXMX. In VMAC7072 the
VMAC7072 variable TOTIORAT should not have been in the KEEP list
VMAC78 (TOTIORAT was replaced by IORATE, but the name was still
Sep 26, 1988 in the KEEP= list. Since TOTIORAT was never referenced,
it never existed in the data set. SAS does not validate
that variables in a KEEP= list actually exist (though it
does validate the KEEP statement) and MXG exploits this
ability to have a variable in the KEEP= list which is not
kept if it is not created in the code. However, in this
case, that was not intended!). Also in VMAC7072, SMFTIME
was added to TYPE70PR data set. (I really don't think it
should be, since STARTIME is the analysis time stamp to
be used, and STARTIME+DURATM provide the ENDTIME, but as
SMFTIME is redundantly in TYPE70, it makes sense to keep
it also in TYPE70PR for consistency.) In VMAC22 dataset,
VMAC78, the test (to prevent divide by zero) in line 1723
should be CHPIDTKN+PCTCUBSY; occasionally a missing value
for PCTCUBSY resulted when it could have been calculated.
Thanks to Roger Drabyk, Manitoba Data Services, CANADA.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Thanks to Jan van Lent, Sokker, NETHERLANDS.
Change 06.125 CICS program compression count and duration, PCCMPRCN and
VMAC110 PCCMPRTM were in the wrong KEEP= list, and thus were not
Sep 21, 1988 kept in CICSYSTM dataset. Remove the two variables from
CICSTRAN KEEP= list and add them to CICSYSTM KEEP= list.
To summarize CICS variables which deal with compression:
CICSYSTM contains the interval count and duration of the
compressions (PCCMPRCN,PCCMPRTM) and the number of bytes
compressed (PROGCOMP) during the interval. If you want to
know which transactions were compressed, the detail data
is in the CICSEXCE exception data set variables PGMCMPCN
and PGMCMPTM. Compression is not reported in CICSTRAN.
(Note however, that there could have been non-zero values
of PCCMPRCN and PCCMPRTM in CICSTRAN before this change.
The values would have been wrong and were being carried
forward incorrectly from the prior CICSYSTM record.)
Thanks to Jim Gilbert, Texas Utilities, USA.
Thanks to Gary Smith, Southern California Edison, USA.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
Change 06.124 NPM 1.3 TNL SN25-2063 to SH20-6361 describes 5 segments
EX028CM4 and 14 subtypes not in the original type 28 appendix. The
EX028CM5 change creates four new data sets (NPMCMDRN, NPMCMNSA,
EX028IN8 NPMINNSA, and NPMNPTAK) and expands the documentation in
EX028NTK comments at the beginning of VMAC28. MXG support for the
VMAC28 type 28 SMF record now creates 28 data sets from the 53
Sep 21, 1988 subtypes containing from one to three of the 31 different
data segments. The five new segments (BAN, BAS, DRN, MSA,
and NTK) have been syntax checked, but no data for these
segments has yet been encountered.
Change 06.123 The OPERATOR variable in CICSACCT for CICS 1.7 is wrong.
VMAC110 CICS 1.6 contained a 3-byte OPERATOR field in CICSACCT,
Sep 20, 1988 CICSEXCE & CICSTRAN data sets. CICS 1.7 introduced a new
8-byte USER field, but also carries a 4-byte OPERATOR
field in EXCE and TRAN (but not in ACCT!). This made the
MXG variable OPERATOR in CICSACCT for CICS 1.7 either a
blank or the value from the prior CICSTRAN observation.
(To further complicate the matter, OPERATOR in CICSTRAN
and CICSEXCE does not match the first four bytes of USER;
the fourth byte of OPERATOR is null (hex 00) but the 4th
byte of USER is a character! This problem was fixed for
CICSACCT under 1.7 by now storing USER into OPERATOR (it
should have been set blank since it does not exist, but
this way you might not have to change reports that use
OPERATOR from CICSACCT. For CICS 1.7, you really should
use USER instead of OPERATOR in all your reports.
With both 1.6 and 1.7, you can still change your
reports from OPERATOR to USER, and can insert
IF SMFPSRVR LT 3 then USER=OPERATOR;
in MXG exit members EXCICACC, EXCICEXC and EXCICTRN
and therby put the 3-byte OPERATOR value from CICS 1.6
applications into the 8-byte USER variable.
Thanks to Tom Elbert, John Alden Life Insurance Co, USA.
Change 06.122 NPM 1.3 defined multiple fields at same location in STT.
VMAC28 Insert line 947.1 @; IF NPMSUBTY EQ 20X THEN INPUT
Sep 20, 1988 insert line 949.1 @; ELSE IF NPMSUBTY EQ 30X THEN INPUT
and change lines 950-951 from PIB4. to PIB2.
so that TOTLOVER/TOTLOSSQ are read for subtype 20x and
OBJPERCT/OBJCNTNR (now PIB2.) are read for subtype 30x.
Thanks to Bob Smith, Nissan Motors, USA.
Change 06.121 Incorrect test in NPM 1.3 type 28 record caused some CDS
VMAC28 segment data to not be read for subtypes 31x thru 35x.
Sep 14, 1988 In line 691, change LE 35 to LE 35X
Thanks to Bob Smith, Nissan Motors, USA.
Change 06.120 Boole's IMF ARRVTIME field for a fastpath record actually
TYPECIMS contains INPQUETM duration! (Sure glad this user found it
Sep 13, 1988 but sure wish the vendor had told me first!)
Insert six new lines:
IF PROGTYPE='F' THEN DO; 428.1
INPUT @113+OFFIMS INPQUETM RMFDUR4. @; 428.2
ARRVTIME=STRTTIME-INPQUETM; 428.3
END; 428.4
ELSE DO; 428.5
END; 434.1
Thanks to John Donoghue, Bank of Ireland, IRELAND.
Change 06.119 Variable PGMLODTM, "Program*Loading*Duration" was added
TYPEIMS in line 1007, immediately prior to STRTTIME=GUTIME
Sep 9, 1988 PGMLODTM = GUTIME - STRTTIME ;
PGMLODTM is included in the calculated INPQUETM. This
new variable allows identification of IMS programs with
a large load time (often due to poor loadlib blocksize).
==========Changes thru 6.118 were the real 6.4 pre=release===========
Change 06.118 The first prerelease of 6.4 was insufficiently tested.
BUILDPDB 1.BUILDPDB line 74, remove SMFTIME from BY list for SORT
BUILDPD3 of TYPE70PR.
VMACSYNC 2.BUILDPD3 line 78, remove SMFTIME from BY list for SORT
VMAC74 of TYPE70PR.
VMAC102 3.VMACSYNC line 213, add SORTBEGN SORTEND to be LENGTH 8.
Sep 9, 1988 4 VMAC74 line 3451 for MVS/ESA should be GE 100 instead of
GE 99, and line 3452 should be INPUT DASDRCFG instead of
INPUT @LENDDSS+84 DASDRCFG.
5.VMAC102 insert new line after 440:
LENGTH QWHSSTCK 8;
Thanks to Dave Greene, Kwasha Lipton, USA.
Thanks to John Thai, Health Insurance Commission, AUSTRALIA.
========Changes thru 6.117 were a limited pre=release of 6.4=========
Change 06.117 The PR/SM data set TYPE70PR is now created by default in
BUILDPDB both BUILDPDB (JES2) and BUILDPD3 (JES3) PDB libraries.
BUILDPD3 Non-zero observations will exist only if PR/SM data is
RMFINTRV found in your SMF data. (There is essentialy no cost to
TYPE7072 SAS to build a zero observation data set.) In addition,
Sep 6, 1988 the variable PARTNCPU (the number of physical processors
available to this partition) has been added to data sets
TYPE70 and TYPE70PR data sets (both in TYPE member code
and in the PDB and RMFINTRV built data sets).
Thanks to George Scott, Rockwell International Corporation, USA.
Change 06.116 IMS log record processing has been completely redesigned
IMACIMS to capture actual transaction response. Prior MXG logic
TYPEIMS created an observation for each program schedule event,
VMACIMS even though many transactions may have been processed
(each with its own response time) by a single schedule.
Sep 6, 1988 This complete re-design recognizes individual transactns
and calculates individual responses. Since there still is
only one 07 log record with CPU and DL/I counts, they are
averaged across the multiple transactions per schedule.
Pete tested with IMS 2.1. IMS 2.2 log changes were then
put in, and tested with independent 2.1 and 2.2 data from
two sites with IMF data for comparison. Log processing
will never be as accurate as Boole's IMF monitor data,
(IMS log time stamps are only to .1 sec), but this new
design matches transaction counting exactly and appears
to accurately capture IMS response time nearly as well
as does IMF. In addition, Pete found excellent match to
NETSPY measured response time in his production world.
As this is a major re-design, check it out for yourself
and call us for any new info from other MXG users as the
re-design becomes more widely distributed in MXG 6.4.
Note that the 6.3 code (which supported IMS 2.2 with the
old algorithms) was copied into the Z....... members just
in case you want to compare.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.115 EXPLORE/VM (a product of Goal Systems) data is processed
IMACVMXP with this contributed enhancement. Comments in TYPEVMXP
TYPEVMXP discuss how to invoke this code to read the EXPLORE DD
VMACVMXP and create the six VMXP.... data sets. This code has not
Sep 1, 1988 been validated with data in Dallas, but it has been in
use for some time by its author.
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.114 An additional daily report from VM SP monitor data is now
ANALVMDY in member ANALVMDY which is included by EXECDALY.
Aug 24, 1988
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.113 The average Definite Response AVGDRSP is now calculate in
VMAC28 appropriate NPM data sets (along with AVGHOST, AVGNETW
Aug 24, 1988 and AVGOPER previous calculations).
Thanks to Ron Clark, Chemical Bank, USA.
Change 06.112 The DOS POWER Account Version default was externalized in
IMACDOS new member IMACDOS. The default now expectes DOS VSE SP2
TYPEDOS Release 1.3 or later format data. Comments in IMACDOS
Aug 22, 1988 describe how to change to process earlier version data.
Thanks to Dick Whiting, Precision Castparts, USA.
Thanks to Bruce Groeber, City Federal Savings, USA.
Change 06.111 Continued validation and documentation expansion enhanced
VMACVMXA the VM/XA monitor support. Protection to delete duplicate
Aug 30, 1988 data was added. The VXIODDEV data set now contains an obs
only if there was activity to the I/O device during the
interval. The NODUP option was added to delete duplicate
input data records (which can happen if MONWRITE outputs
are repetitively concatenated). If MONWRITE fills a mini
disk, data blocks are lost. Concatenation of that file to
later MONWRITE output caused the new control interval
record to be swallowed as if it were the missing data
blocks! MXG now looks for and corrects this situation.
Twenty-eight reports are now created (by default with the
_VMRPT or nnth with _VMRPTnn invocation) from VMXAINTV.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.110 This JCL example was less than clear, as it contained the
JCLPDB SOURCE option twice. It is now clearer.
Aug 22, 1988
Thanks to John Kenworthy, Naval Military Personnel Command, USA.
Change 06.109 The GMT offset added to EPILOG CL 1000 V430 records is
VMACEPIL now decoded correctly and is added to the record times to
Aug 12, 1988 produce local time-of-day timestamps in MXG data set.
Change 06.108 The ACCOUNT data set (which contains PDB.JOBS variables
BUILDPDB that are to be "back-merged" into PDB.PRINT and PDB.STEPS
BUILDPD3 is no longer deleted by BUILDPDB, making it available for
Aug 10, 1988 your own use, if needed, following BUILDPDB logic.
Change 06.107 Correct a syntax error (period should be semicolon) and
WEEKBLD eliminate the non-existent PRENTIME variable in the BY
Aug 10, 1988 list for PDB.PRINT.
Thanks to Paul Bergman, Prudential, USA.
Change 06.106 VM/XA SP1 data from several sites has been used to update
VMACVMXA processing logic. The VXBYUSR user interval data is now
Aug 10, 1988 built from VXUSEACT and VXUSEINT data sets with logic to
recognize new sessions unambiguously eliminating negative
deaccumulations in the user data. (Negative delta values
were due to either insufficient delta logic or from two
byte counters which wrapped.) With additonal test data,
it has been possible to validate which fields really are
accumulated and additional variables are now correctly
DIF()'ed.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Thanks to Vic Fadool, Health Net Corporation, USA.
Thanks to Julie Roland, IBM Kingston, USA.
Change 06.105 MXG has been tested under SAS Release 5.18 and there are
EXITMONI three problems which induced MXG circumventions:
GRAFRMFI a.The EXITMONI member which assembles the TMON INFILE exit
IMACPDB (decompression algorithm for Landmark's CICS data) must
Aug 12, 1988 be re-assembled, using the SAS 5.18 macro libraries. The
internal filetable used by the SAS ASM macros increased
by 16 bytes. You cannot use the load members built with
5.16 macros under SAS 5.18, and the load members built
with the 5.18 macros cannot be used under SAS 5.16! You
can link the load modules into your SAS load library, or
keep two separate load libraries for the exit. The MXG
instructions for EXITMONI are on pages 59-60 of the MXG
Supplement, but only the BMACLIB library (file 22 on the
SAS distribution tape, unloaded by JCL in BTSOSRC in the
SAS JCL control library) is now required for the exit.
b.The KILL with PROTECT= option of PROC DATASETS no longer
works in SAS 5.18 (it was an un-documented feature - see
SAS User's Guide page 877.) Unless you have enabled the
PROTECT= feature (by removing comments in IMACPDB), SAS
5.18 has no problem. The change to PROC DATASETS removed
KILL and now requires a DELETE statement naming each data
set with PROTECT= to be deleted. Member IMACPDB now has
the necessary explicit PROC DATASETS code for those who
have chosen to protect their PDB data sets. In addition,
the (PROTECT=ZZZZZ) string has been externalized into a
new macro _PROTECT defined in IMACPDB so that you can go
either way easier.
If I had to do it over, I would never have used the
PROTECT= option in BUILDPDB. Protection was a holdover
from the days when SAS data sets were members of PDSs
and it helped avoid B37 abends and PDS dead space. If
I could I would make no-protect the default in MXG now
but that would require all existing sites to either
scratch and re-allocate each PDB data set or to run a
separate PROC DATASETS (from IMACPDB).set. So to avoid
the un-necessary work and exposure, PROTECT= will be
unchanged in future versions. PDB data sets now with
it still have it and no new protected data sets will
be created. Furthermore, IMACPDB lets you override any
way you want it. The following PDB data sets have been
and will continue to be built with PROTECT=ZZZZZ:
CICSACCT CICSEXCE CICSYSTM DDSTATS IPLS JOBS
PRINT SMFINTRV STEPS TAPES
TYPE70 TYPE71 TYPE72 TYPE73 TYPE73L TYPE73P
TYPE74 TYPE75 TYPE78 TYPE78CF TYPE78CU TYPE78IO
TYPE78PA TYPE78SP TYPE78VS
c.PROC GPLOT now sets an error condition if all values of a
variable are missing on a plot page. In 5.16 only a note
was printed. (Note this change was not made to the GCHART
CHART or PLOT procedures!) This has caused GRAFRMFI from
MXG 5.5 to ABEND if ERRORABEND is specified. SAS now has
a ZAP which restores GPLOT to its former self (the fix is
ZAP Z518.5694). The option NOERRORABEND has been added
to GRAFRMFI in case you have not installed that zap. In
addition, an unrelated, obscure logic error in the macro
logic in GRAFRMFI was uncovered and corrected.
d.GRAFRMFI exploited the GROUP statement so you could get
groups of graphs in batch (interactively, you simply
flag each graph to be grouped by PROC GREPLAY.) Changes
to the Graphic catalog in 5.18 and the lack of a way to
define "group" when building graphs has invalidated the
use of GROUP in GRAFRMFI.
---Changes through 6.104 completed the 7/27/88 2nd prerelease of 6.3--
Change 06.104 Pre-release VMXA code was not prepared to handle multiple
VMACVMXA "packets" of VM/XA monitor data from multiple monitor
Jul 26, 1988 sessions in one input file. Major changes were made to
the MXG logic to recognize the start of a new monitor
session in the de-accumulation logic. The data sets that
create the VMXAINTV consolidated interval data set have
been much more extensively validated, although there are
already twelve known problem areas under discussion with
IBM that I believe are problems in data (for example,
the Schedule records don't contain a processor address,
so it is impossible to validate them for guests which
allocate two or more virtual machines). VMXAINTV and the
sample data sets from which it is built seem to be okay.
However, VXIODDEV, VXSTOASP, VXUSEITE and all VXSCL...
data sets have occasional negative values as minimum,
and are under active investigation. Because VMXAINTV is
believed to be valid and useful, this tape was created.
Change 06.103 DB2 trace type 102 SMF record (new in 6.3) was not fully
ANALDB2R tested, causing FORMAT NOT FOUND errors.
FORMATS RENAME IMACDB2T to IMAC102.
IMACDB2T In member FORMATS change all occurrences of:
IMAC102 $MGDZDBC. to $MGD106C.
IMAC102A MGDZPID. to MGD106I.
IMAC102B In member VMAC102 change all occurrences of:
TYPE102 MG106I. to MGD106I.
TYPE102A In members ANALDB2R, IMAC102 (after RENAME), TYPE102 and
TYPE102B VMAC102 change all occurrences of IMACDB2T to IMAC102.
VMAC102 As documented in IMAC102, there are too many iterative DO
Jul 22, 1988 statements to build all T102.... data sets concurrently.
Members IMAC102A, IMAC102B, TYPE102A and TYPE102B create
half each and are used in JCLTEST and JCLUXREF for MXG
testing and to create DOCVER entries now.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.102 ROSCOE 5.5 RTM response time data could be missing if the
ANALROSC SMF data was dumped after ROSCOE started. Change line 254
Jul 21, 1988 START=0; to read START=ROSTIME; to fix.
Thanks to Mike Doyle, Purdue University, USA.
Change 06.101 Member AAAAAAAA is a copy of member COPYRITE which will
AAAAAAAA be seen first if the MXG Source distribution library is
Jul 21, 1988 scanned (since that IEBUPDTE format is alphabetic). This
will simply make it clear what you've got.
Change 06.100 ACF2 sometimes contains ACTMFCBT data which is over 400
VMACACF2 bytes long, but MXG failed to protect, causing STOPOVER.
Jul 19, 1988 Find the line INPUT ACTMFCBX $VARYING200. ACTLTH @;
and change it to IF ACTLTH GT 0 THEN INPUT +ACTLTH @;
to skip over the excess data.
Thanks to Larry Cecil, First National Bank of Chicago, USA.
-------Changes through 6.099 completed the First pre-release of 6.3 -
Change 06.099 Bulk Data Transfer (BDT) variable SMF59NDT in line 184
VMAC59 is TODSTAMP8., not SMFSTAMP8 (although all other BDT
Jul 16, 1988 time stamps are SMF format!)
Thanks to Paul Walker, IBM, USA.
Change 06.098 Apparently a new release of NLDM has changed the size of
VMAC39 the accounting section. VERSNLDM was 000Dx, LENACCT=52.
Jul 16, 1988 Now VERSNLDM is 0014x, LENACCT=50, NLDMRSV1 removed!
On line 301 add @; after REVISION PIB2., replace 302:
IF LENACCT EQ 52 THEN INPUT NLDMRSV1 PIB2. @;
and add INPUT to beginning of line 303.
Thanks to Paul Walker, IBM, USA.
Change 06.097 NETSPY variables ARSPNET, T1RSPPC-T4RSPPC and OVRSPPC
VMACNSPY were sometimes "retained" into the next observation due
Jul 15, 1988 to lack of re-initialization. Now re-initialized.
Thanks to MP Welch, Sisters of Charity of the Incarnate Word, USA.
Change 06.096 Landmark's MONITOR data sets now have individual macro
EXITMONI names defined in IMACMONI which control the destination
EXMONDBD DDNAME to which the four data sets (MONISYST, MONIDBDS,
EXMONSYS MONITASK, and MONIUSER) are written, permitting the high
EXMONTSK volume data sets to be written directly to tape. The
EXMONUSR default DDNAMEs, WORK, were not changed. In the JCL for
IMACMONI the TMON exit installation (in EXITMONI), the DDNAME of
Jul 15, 1988 SYSGO should have been SYSLIN.
Thanks to Robert Manalo, EDS, USA.
Change 06.095 VM/XA SP1 data validation corrected several values and
VMACVMXA formats in the detail data sets. More important, this
Jul 12, 1988 change adds the VMXAINTV data set creation. This is the
consolidated interval data from the sample data from the
system, storage, processor and user domains. With about
228 variables per time interval, it will be the primary
source of VM/XA analysis, yet it holds 24 hours of half
hourly intervals in 1 track! Read comments in VMACVMXA.
Only simple sample reports are created now, but you can
expect more in the next pre-release. VMXAINTV should be
the primary data for investigation of VM/XA response,
resource utilization, etc. Note that the new response
measures provided are the average time and count of both
trivial and non-trivial interactions and are recorded in
two separate categories, UP and MP. CMS response will be
in the UP variables, while the MP variables contain the
response for MVS guests (or any other guest machines that
define more than one virtual CPU). Variables CALMP... and
CALUP... contain response information. CPU utilizations
are also calculated (PCT.....) to reflect overall CPU and
system versus user CPU utilization of all engines.
An unrealistically large test run (ALL possible records
from 60 intervals with 1500 active users from a 3090-600
created 100 MB of raw monitor data. MXG created all data
sets and all possible variables in 369 3090-600 CPU secs
and used 82 MB of 3380 DASD space. The VMXAINTV data set
was only 2 tracks! A smaller test sample (only 7 MB of
raw data) used 11 MB 3380 DASD and 55 3090 CPU seconds
to create all possible variables in all possible datasets
Change 06.094 NPMSLHTM should be input as PIB4.1 vice PIB4.2 to be
VMAC28 consistent with NPM 1.2 internal value, although this is
Jul 12, 1988 not documented by IBM and has not been fully confirmed.
Thanks to Henry Solomon, Merrill Lynch, USA.
Change 06.093 DOS variable LINES in keep list should have been LINEPRT.
TYPEDOS
Jul 12, 1988
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.092 Support for NETSPY Release 3.1 added variables CCUNAME,
VMACNSPY LINENAME, and NETWADDR to the NSPYLU data set, along with
Jul 12, 1988 $MGNSPXD format addition and TRANSNO alteration based on
new flag bytes.
Change 06.091 Support for EPILOG 1000 (CICS) Version 4.30 added the GMT
IMACEPIL offset variable CIGMTOFF. Candle took our suggestion and
VMACEPIL created an INFILE exit named EPILOC that decompresses the
Jul 15, 1988 EPILOG CICS data. (Candle provides the documentation, the
ZAPs to SAS and the two load modules to be installed.)
Note that exit load moudules can be concatenated behind
STEPLIB or SASLIB libraries. After you install the exit,
you must then change the INFILE statement in MXG member
IMACEPIL (to add EPILOGC as described therein) to tell
MXG the exit exists.
Change 06.090 Still more undocumented treats from NPM 1.3. Line 1268
VMAC28 added test for NPDSUBTY EQ 041X to set AOFTYPE='NAD' to
Jul 11, 1988 read undocumented NAD(S) data and eliminate reams of
'AOF DNC-SESSION END' notes on MXG SAS log.
Thanks to Paula Lamphear, The Strohs Brewery, USA.
Change 06.089 NETSPY cluster and luname were not read for subtypes 10,
VMACNSPY 11, 20, 21, and 43 (hex). Line 412's ELSE IF statement
Jul 8, 1988 was expanded to add these additional five subtypes. Also
SECONDARY is now correctly spelled in line 179.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.088 IMS 2.2 changes the location of the DEST field in IMS log
VMACIMS records type 35 and 36, as discovered by this MXG user.
Jun 29, 1988 The associated INPUTs are now conditional on the version
value (defined by you in member IMACIMS macro _IMSVERS).
Thanks to U. Guenschman, GEZ, Cologne, GERMANY.
Change 06.087 The MONITOR from Landmark accumulated CICS system data in
TYPEMONI MONISYST data set, which is deaccumulated into the actual
Jun 29, 1988 interval values by the ANALMON logic. This logic fails if
multiple CICS system's data was dumped (individually) and
then concatenated as input to MXG, because there is no
flag in the Landmark data to indicate a monitor startup.
This contributed change replaces the existing ANALMON and
heuristically detects a change in system to correctly
deaccumulate multiple-systems MONITOR data. (Note that
the original ANALMON macro still exists in TYPEMONI, but
the new macro (with the same name) is redefined after the
original definition. SAS uses the last macro definition
encountered.)
Thanks to John Leath, Fleet Information Inc, USA.
Change 06.086 The SORT order of the PDB.PRINT data set was incorrect in
MONTHBLD both MONTHBLD and WEEKBLD and in the PDB.PRINT section of
WEEKBLD Chapter 40 of the MXG Supplement. The actual order is:
Jun 29, 1988 READTIME JOB JESNR PRINTIME PRENTIME OUTDEVCE SYSTEM.
Only one run at one site actually had an error, but the
correct sort order is now used in these two members.
Thanks to Jim Bentley, US National Bank, USA.
Change 06.085 The IDMS Performance Monitor data has been enhanced and
TYPERTEJ further compared with the Cullinet reports. Their reports
VMACRTE are wrong. Their "Start Time" is actually the End of the
Jun 29, 1988 interval. Many report fields are 4 or 5 print positions;
Cullinet truncates the high order characters, which made
30652 Storage Gets (MXG value) print as only 652! Labels
for PGMOVLU, PGMOVLIU, and PGMOVLNU were changed after a
phone call to Cullinet corrected the documentation. The
storage and program pool sizes in their reports may be
wrong. the data (and hence MXG values) are pages, yet it
seems they have 4K pages and 1/2K pages in their reports.
However, not only Cullinet made mistakes. The label for
ARAFNAME is now FILE, not FIELD, and variable IHDRCVN,
the Central Version Number, was added to all IDMS data
sets (to separate different IDMS regions internally).
Finally, for IDMS journal (rather than SMF recording),
RTLHDRST should have been RT1HDRST in TYPERTEJ.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.084 Offsets for the EXD data in the SAR SMF record (which is
IMACEXD either type 6 or a user record) were low by 2. Offsets
Jun 29, 1988 are now 91, 103, 111, 121.
Thanks to Cathy Hellums, U.S. Sprint, USA.
Change 06.083 Sample Turnaround report failed if job had not actually
ANALTURN terminated. IF SUBSTR(INBITS,3,1)='J'; test was added to
Jun 29, 1988 keep only jobs which had a 30 subtype 5 term record.
Thanks to Cathy Hellums, U.S. Sprint, USA.
Change 06.082 Sample NETSPY reports raised SORT order error. SMFTIME in
ANALNSPY the SORT BY statements should have been DATE, to agree
Jun 29, 1988 with the PROC PRINT BY statements.
Thanks to Rick M. Odegard, Kimberly-Clark, USA.
Change 06.081 Inclusion of STOPX37 record processing in BUILDPDB/3
VMACX37 caused a SAS 353 error about arrays if the _CDEX37 entry
Jun 28, 1988 in PDB exit EXPDBCDE was not the last _CDE.... entry.
The semi-colon at the end of the (KEEP= ...) statement in
VMACX37 should not have been there, was the culprit, and
no longer exists.
Thanks to Paula Lamphear, The Strohs Brewery, USA.
Change 06.080 Decoding of CICS variable UOWID into its actual time
TYPEMONI stamp variable UOWTIME (Change 6.016) was revised when
VMAC110 yet another undocumented timestamp format was found. The
Jun 28, 1988 non-fatal "INVALID DATA FOR INPUT FUNCTION" note and the
hex dump of the record resulted, setting UOWTIME missing.
Multiple Region Option (MRO) CICS environments should
find that the combination of NETSNAME UOWTIME is constant
for the same transaction across the CICS regions (TOR,
AOR, FOR) for the same "Unit of Work". While the MXG
UOWTIME is constant, the 8-byte UOWID variable will only
be constant in the first six bytes; the last two bytes of
UOWID increment at SYNC points. This revised algorithm
now checks times for valid format, rather than trying to
guess where the time stamp should be! The change applies
to both IBM CMF type 110 and Landmark's Monitor data.
Thanks to Daniel Engstrom, Continuum, USA.
Change 06.079 Continued DB2 enhancements in testing:
ANALDB2R 1. ANALDB2R enhanced with additional DB2PM report from 100.
IMACDB2T 2. Preliminary testing of SMF type 102 DB2 Trace record is
TYPE102 provided by this MAJOR contribution from this user. Many
VMAC102 new T102Snnn data sets are created by TYPE102, which uses
Jun 10, 1988 the macros defined in VMAC102 that are re-defined and
controlled (to select desired trace CLASS) in IMACDB2T.
Not all of the subtypes coded herein have been validated.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.078 VM/XA validation continues.
VMACVMXA 1.SYSZONE is added to MRHDRTOD and all TODSTAMP8. variables
Jun 15, 1988 to convert GMT to local time in all MXG datetime stamps.
2.DM=3 RC=9 code SKIP+48 in line 2972 vice SKIP+40.
3.USEINT divide by HF counts protected for zero divide.
4.CALMPNTC respelled as CALMPNCT. (July 5, 1988).
Change 06.077 MVS 2.2 uses JFCRSV38 bit (JFCDSEQN, data set sequence
VMAC1415 number was coded on label parameter) which was a reserved
Jun 7, 1988 bit in the field decoded in to variable LABEL. This fix
tests bit values rather than hex byte value, so that the
variable LABEL is corrected.
Thanks to Howard R. Stenzel, Financial Data Products, Inc, USA.
Change 06.076 DB2 Version/Release QWHSRELN is PK1.1 vice PIB1., and no
VMACDB2 /16 operation (four places). QWHSRELN will now contain a
Jun 7, 1988 value of 1.2, 1.3, etc.
Thanks to Scott Peterson, Southern California Edison, USA.
Change 06.075 The user type 'C0' VM/Account record created for RSCS is
TYPEVM decoded into the new VMRSCS data set, due to this user
EXVMRSCS provided enhancement. Also, tape attach records with zero
Jun 7, 1988 connect time from CA's DYNAMCMS are no longer OUTPUT.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.074 Several changes from one user:
FORMATS: 1.3240 should have been 3420 (VM Tape format)
TYPERTEJ: 1.SYSTEM $CHAR4. added to FORMAT statement.
2.After line 18, IF LGRTYPE NE 6 THEN DELETE: added.
Jun 7, 1988
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.073 Calculation of CU602LEN should have set values of 9, 10,
VMACVMON or 11. Cause last device to be lost from data set.
Jun 7, 1988
Thanks to Rachel Billington, British Telecom, ENGLAND.
Thanks to Dick Whiting, Precision Castparts, USA.
Change 06.072 More IMS cleanup:
ANALDB2R 1.IF SXNUM GT should be IF SXNUM GE.
EXIMSOUT 1.IMSTRPNO spelled IMSTAPNO, MSGTRAN spelled MSGTRANS and
IMSRECNO added to DROP= list.
JCLUXREF 1.Comments improved, VERS5 changed to VERS.
TYPEIMS 1.Move INCONT,LOGONID,MSGLEN and ORGENT initializations to
before their respective conditional assignment.
2.M014 should be M0114 at line 468 (made MSGSZIN wrong).
3.NODENAME added to RETAIN at line 766.
VMACIMS 1.COMPCODE is now a $CHAR4. formatted $HEX8. The last byte
was lost when it was stored as a four byte numeric. (SAS
needs one byte for exponent if the field is numeric).
Jun 7, 1988
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.071 NPM 1.3 type 28 record Stop Collection (Subtype=2) record
VMAC28 has a shorter PMC section, causing STOPOVER. At line 825,
Jun 7, 1988 conditionally INPUT NPMDATA thru NPMUPPER IF LENTOF GE 34
Thanks to Barry Pieper, FBS Info Services, USA.
Change 06.070 Now LRECL=32760 is specified for input SMF file. The old
VMACSMF value of 32756 solved a problem introduced with SAM/E and
Jun 7, 1988 documented at that time; somewhere in the intervening 10
years, IBM lifted the constraint and now the correct SMF
LRECL=32760 is required (LRECL=32756 causes a STOPOVER
condition if data is really LRECL=32760).
Thanks to J. Cary Jones, Philip Morris, USA.
Change 06.069 Variable TYPEIOML in data sets TYPE75 and TYPE77 now is
VMAC75 updated to recognize 309x processors; it is not used in
VMAC77 MXG and this change should have little visible impact.
Jun 7, 1988
Thanks to Richard Evans, Mervyn's, USA.
Change 06.068 RMF 3.5 support for PR/SM and other MVS 2.2 changes that
EXTY70PR related to expanded JESNR range to 99,999 were added.
VMAC26J2 1.Support for 99999 JESNR from JBID added to VMAC26J2 and
VMAC26J3 VMAC26J3 for JES2 and JES3 purge records.
VMAC30 2.Support for 99999 JESNR from JBID added to VMAC6 for PSF,
VMAC434 JES2, JES3, and EXTWTR type 6 records. The OUTPUT for the
VMAC6 EXTWTR was relocated to follow the creation of JESNR.
VMAC7072 3.Support for 99999 JESNR and revision of TYPETASK decode
VMAC71 (still $CHAR4 long, but fourth position will be blank for
VMAC74 99999 JESNR in all type 30 data sets.
Jun 2, 1988 4.New variable TERMNAME (Terminal Symbolic Name) created in
all type 30, type 4 and type 34 data sets.
5.New variable DSSIZHWM (Data Space Storage, highwater mark
used during the step) only in TYPE30_4 data set.
6.New documentation notes for TYPE30_4, PDB.STEPS, etc:
IOTMTOTL: For a DIV object, this includes the IO connect
time for READs, WRITEs and REREADs. This I/O .
connect time for DIV objects is only captured
for the address space, and not by DDNAME.
IOTMTODD: The connect time from each DDNAME does not
include DIV connect time, but a DDNAME for DIV
could record connect time if it were accessed
with a VSAM utility.
IOTMNODD: Will now include the DIV I/O connect time (i.e.
NOT captured at the DD level is in NODD vars.)
7.Support for PR/SM hardware and RMF PTFs in VMAC7072 with
new member EXTY70PR.
a. New data set TYPE70PR created, one obs for each LCPU
(Logical processor) in each LPAR (Logical partition).
This PR/SM data set reports on all defined partitions
and is the only source of total hardware CPU active.
b. PR/SM changes how TYPE70 captures CPU wait and busy.
Read the Partition Data Report field descriptions in
the RMF User's Guide. The variables CPUWAITM/PCTCPUBY
(and the individual CPU 0-8 values) are recalculated
by this change from the PR/SM data sections for the
LPAR this MVS is executing in. TYPE70 data under the
PR/SM hardware now only reports this MVS's usage, and
no longer reports total (real) hardware CPU active.
Summing TYPE70PR variable LCPUPDTM by STARTIME will
provide total (real) hardware CPU activity during the
interval by ALL partitions.
c. TYPE72 variable ACTFRMTM is the resident page-seconds
sum of Central Store (CS) and Expanded Store (ES). The
ratio of ACTFRMTM/RESIDTM is the average total number
of pages (frames) in CS+ES for this performance group
period. TYPE72 variable PGPAGEIN is the number of page
ins in this performance group period.
8.Additional Paging data in TYPE71 supported. New variables
EXTREADS, SQARE.., SQAEX.., LPAEX.., CSAEX.., LSQARE..,
LSQAEX.. and REGSEX.. added.
9.Additonal SMS data in TYPE74 supported. New variables are
DASDRCFG & STORGRUP, and AVDSOPEN in RMF 3.5.0+ contains
count of allocations, rather than data sets open.
Change 06.067 This member lists all %INCLUDES for each MXG member. It
DOCINCLD is now automatically created from each new MXG version by
Jun 2, 1988 a smart SAS program.
Change 06.066 The MXG FMXGUCBL SAS function which dynamically allocates
FMXGUCB7 all online DASD for VTOC processing was for MVS/XA only.
Jun 2, 1988 This new member provides the same function under MVS/370.
Thanks to ???, ???, AUSTRALIA.
Change 06.065 STOPX37 Product Release 3.2 is now supported. Record was
VMACX37 completely reordered but essentially the same variables
Jun 2, 1988 exist.
-------Changes through 6.064 completed the Pre-release MXG 6.2-------
Change 06.064 STOPX37 product changed SMF record format. Temp fix to
VMACX37 avoid STOPOVER ABEND was added, but does not support the
May 2, 1988 new format in their Release 3.2, which will be in the
next pre-release of MXG.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.063 Final beta tests of 6.2-minus uncovered these errors:
TYPEIMS -MSGSZOUT spelled once in error as MSGSZOU.
EXIMSOUT -TRANCLAS spelled in error as TRANCLS.
JCLUXREF -Unnecessary PROC COPY removed from TESTUSER step and 2nd
Apr 27, 1988 DCLOG DD DUMMY was supposed to be EPILOG DD DUMMY (slow
response after SPF replicate subcommand caused error).
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.062 Support for VM/XA SP 1 accounting card data (described in
TYPEVM SC23-0353, pages 126-128). Only the VMSESSN, VMDEVICE and
Apr 27, 1988 VMUSRDAT datasets are created by VM/XA. Data set VMDEVICE
variables DEVICECL, DEVICETY, MODEL, & FEATURE are now
reserved fields! Two new variables for vector CPU time,
VECVITM and VECVIRTM, are created for VM/XA and VM/SP
account cards. The card format is essentially the same as
VM/SP so this member now supports VM/SP or VM/XA records.
Change 06.061 Variables LPAPGMN,MX,AV, CSAPGMN,MX,AV, and PRVPGMN,MX,AV
VMAC71 in TYPE71 are correct, but their label was "PAGEABLE" and
Apr 27, 1988 is now "TOTAL". Page 410 of the MXG Supplement is correct
(except for the mispelling of private as privage!) which
corrects page 706 in the MXG Guide! Change 4.34 made the
values correct, but overlooked the change in labels.
Thanks to Roger Crabb, British Telecom Red Lion Square, ENGLAND.
Change 06.060 -Variable NPMLOST should have been PIB4. vice $CHAR8.
VMAC28 -For all date fields INPUT with PD4 format were protected
Apr 27, 1988 from a null (hex zeros) value causing INVALID DATA by the
addition of ?? between variable and PD4. (which causes
the value to be set missing without the hex dump and the
error message). Nulls were found for OGNSDATE & OGNEDATE.
-LDRTIME is reported always zero, IBM suggested UY18442 is
the fix, but that is in doubt and unconfirmed.
Thanks to Barry Pieper, FBS Informations Services, USA.
Thanks to Craig Feistner, CITICORP South Dakota, USA.
Change 06.059 Variable DOWNTM in TYPE0 data set was sometimes set to
VMACSMF missing when it could have been calculated, because the
Apr 27, 1988 PREVSYS and PREVTIME temporary variables in this member
were not RETAINed. They are now.
Thanks to Mike Heffler, Department of Defense, Ft Meade, MD, USA.
Change 06.058 Beta test of VM/XA SP 1 Monitor Records completed. See
DOCVER the sparce documentation in comments in VMACVMXA and
EXdddrrr examine the structure of the _TESTVM macro to see the
FORMATS slight changes in overall MXG structure necessary to
IMACVMXA accomodate the need to de-accumulate. Instead of the
UTILGEVX _VAR.... and _CDE.... MXG macro names, the _Vdddrrr and
UTILVB _Cdddrrr MXG VM/XA macros descrive the VXdddrrr data set
VMACVMXA created from Monitor Domain ddd and Record rrr records.
Apr 27, 1988 Seventy-five MXG SAS data sets are created with 1393
variables. Member DOCVER documents these MXG data sets.
In the author's opinion, this is the best MXG code ever written!
But that's not surprising with the good documentation and SAS,
and especially since the choice of IBM field names were
sufficiently "human-engineered" and self-consistent that I chose
to use them as the MXG variable name. This will completely avoid
the past difficulty of multiple names for the same field (such as
the CP, MON, and VM MAP triplets for identical fields). The
design left 5 positions for a reasonably un-cryptic name, and
wise person(s) picked good, usable and understandable names.
IBM Kingston: Thanks, you really did this one right!
========Changes thru 6.057 were printed in NEWSLETTER TWELVE==========
========Changes thru 6.057 were printed in NEWSLETTER TWELVE===========
Change 06.057 New exit IMAC434D was added to support modeling from
IMAC434D type 4, 34, and 40 records. Since BUILDPDB only uses
VMACEXCP type 30 records, this should not be important to many,
but it was added upon request for consistency with the
IMAC30DD similar-purpose exit for type 30 SMF records.
Apr 7, 1988
Thanks to Andrea Glaser, Performance Systems, Inc, USA.
Change 06.056 Complete internal rewrite of db2pm-like reports as new
ANALDB2R style macro, which supports reporting for multiple db2
systems, with a brand new report, is described in the
comments in this revised member. more still to come.
Apr 6, 1988
Change 06.055 $AVRS (SYSOUT Accumulation and Viewing System), Confident
IMACSAVR Software, Inc, creates a user SMF record which is now
TYPESAVR supported. You specify the SMF TYPE in IMACSAVR.
VMACSAVR
Apr 4, 1988
Thanks to Vern F. Berkquist, Bradford Exchange, USA.
Change 06.054 Landmark's CICS code was not updated for decoding of new
TYPEMONI UOWTIME format, causing an "INVALID DATA FOR INPUT FUNCT"
Apr 2, 1988 message (simply setting UOWTIME missing and continued).
Change 6.016 should have been made to Landmark as well.
Thanks to Bill Border, Apollo Computer, USA.
Change 06.053 -IMS Log processing with MXG now really matches DFSILTA0
EXIMSOUT counting of transactions! This supplements the comments
IMACIMS in Change 6.22. Lots of additional research by Pete shows
TYPEIMS that the "minor glitches" turned out to be "page scrolls"
VMACIMS (PA1 key, or retrieval of multiple screens) which MXG put
your IMSJCL in the MSGONLY data set. Pete has added new algorithms in
Apr 1, 1988 EXIMSOUT which recognizes and moves them from MSGONLY to
the IMSTRANS data set. With this change, MXG now matches
exactly to 99.5% of IBM's DFSILTA0 program (which ,may be
the culprit, since it doesn't start counting transactions
until an IMS checkpoint record is found, while MXG begins
with the first record on the IMS log.)
-You must add a new DDNAME to the JCL which uses TYPEIMS
(this has been done to step TESTOTHR in JCLTEST):
//INSTREAM DD UNIT=SYSDA,SPACE=(CYL,(1,1))
which is used in the new EXIMSOUT exit for the "instream"
creation of the $TEMPIMS. tempory SAS FORMAT.
-All references to the unnecessary and redundant _IMSWORK
macro were removed to avoid confusion. Since IMS log data
is processed in a separate step from other data records,
there is no need for a work DD name other than WORK.
Thanks to Pete Shepard, Ashland Oil, USA.
for lots of arduous work.
Change 06.052 -TYPE78.. data sets variables INSTALL, ONLINE, VARIED,
VMAC78 OFFLINE, INVLID, PCTPTHBY, NOSTCPS, NOUCBFND, NOHDWMES
Apr 1, 1988 were not set blank by an ELSE clause if the bit test was
false, which could cause the 'Y' value to be propagated
(incorrectly) into the next segment in the record.
(Change 5.27 fixed this for VMAC74 but overlooked VMAC78.
-Labels for NRIOPENQ and NRIOPREQ were reversed.
Thanks to Stephen Geard, Commonwealth Bank of Australia, AUSTRALIA.
Change 06.051 When the SORT list for BUILDPDB data sets was expanded to
WEEKBLD handle the NODUP option in MXG 4.4, weekly and monthly
MONTHBLD members BY lists were not updated. While only one user
Apr 1, 1988 noticed this oversight, now the BYLISTs agree with the
PDB order as documented in the MXG supplement pp263ff.
Thanks to Marge Hagen, GTE Marina del Rey, USA.
Change 06.050 Comments were re-written to better describe the default
TYPEROSC ROSCOE data sets created by this member. No code changed.
Mar 31, 1988
Thanks to Craig Feistner, CITICORP South Dakota, USA.
Change 06.049 SYNCSORT SMF record had minor exposure in calculating the
VMACSYNC date part of SORTEND datetime stamp for sort which began
Mar 31, 1988 on one day and ended on the next day. Lines 260-261 were
reversed; the IF test precedes the calculation.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.048 RACF type 80 format TYPE80ER was not correct (and caused
VMAC80 an overlooked note on the SAS log). It is now.
Mar 31, 1988 Add one new line after 1261:
@; IF LENAOF GE 76 THEN INPUT
b.Change three occurrences of NPN to NPM.
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Change 06.047 This change consolidates all current reported errors in
ANALNPM support for the new type 28 SMF record. The comments at
VMAC28 the beginning of VMAC28 are now enhanced and provide a
Mar 17, 1988 cross reference of the type 38 variables with their new
Mar 31, 1988 type 28 replacements: TYPE38EX in NPMEVNCP & NPMEVNET,
TYPE38IN in NPMINLU & NPMINPU, and TYPE38NC in NPMINNCP.
a.These five new data sets are not exact replacements for
the three TYPE38.. data sets, and for consistency all of
the old NPA prefixes were changed to NPM (NPA was the old
IBM FDP, which died a graceful death). Your TYPE38..
reports will need to be changed; use the aforementioned
cross reference of new/old variables and data sets in the
comments at the beginning of VMAC28.
b.NPM 1.3 type 28 record creates two lengthed NAD segments
and the shorter length caused an INPUT STATEMENT EXCEEDED
RECORD LENGTH error. Add one new line after 1261:
@; IF LENAOF GE 76 THEN INPUT
c.Changed three mis-spellings from NPN to NPM.
d.Exchanged 20 and 30 in line pairs 24,25 and 1424,1427.
(This will exchange observations in NPMINSES & NPMINRTM.)
e.Repeated line 731 as 731.1 with 0F5X setting NND.
f.Added new line 779.2 with +2 (missed reserve field).
g.Added new line 1201.1 to set AOFTYPE='NAC' with OR
(NPMSUBTY EQ 18X AND NPMTYPE EQ 81X).
Added new line 1202.1 to set AOFTYPE='NAD' with OR
(NPMSUBTY EQ 18X and NPMTYPE NE 81X).
h.Renumbered VMAC28 and ANALNPM to "level set" for future.
i.You can see that many users helped in the validation
of the 6.1 pre-release of SMF 28 support. There still
may be record combinations which have not been tested,
and there are not really any reports yet, especially from
the new data sets, but (to paraphrase SAS' Robert Cross
at 1988 SUGI, about the major SAS re-design, MVA for
Multi Vendor Architecture which was only a concept last
SUGI): "Now it works!" Thanks for all who helped:
Thanks to Ray Dickensheets, Yellow Freight System, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Thanks to Barry Pieper, FBS Information Services, USA.
Thanks to Matt Cody, Jostens, USA.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Thanks to Mike Pichowicz, U.S. Trust, USA.
Thanks to Billy Westland, Candle Corporation, USA.
Thanks to Robert Bunn, IBM NPM Level 2, USA.
Change 06.046 This MXG system for measuring your DASD farm (data set
FMXGUCBL sizes from VTOCs) now supports the 3375 DASD device.
VMXGVTOC
Mar 17, 1988
Thanks to Chuck Rexroad, Perpetual Savings Bank, USA.
Change 06.045 -Cosmetic clean-up in JCLTEST member in step TESTUSER adds
JCLTEST the EPILOG DDNAME. In TESTUSER member, %INCLUDE TYPESYNC
TESTUSER was added to create and test SYNCSORT data set. We use
VMXGUSE JCLTEST to create MXG's cross-reference that is input to
Mar 17, 1988 both the auto documentation (DOCVER, DOCVERnn) and the
conflict analysis (variable names, types, formats, etc).
XREF and DOCVER are the final runs before a pre-release
of MXG Software is ready for shipment.
-A new style macro %VMXGUSE was contributed by Dan Kaberon
that builds an MXG execution for a specific subset of SMF
records. This is provided as an example only. The MXG
development of a code generator to trivialize that task
is ongoing, but not with the %MACRO facility. Consider:
BUILD XAONLY 30.4 30.5 26 ADD=MYVAR DROP=OLD1 OLD2
for you to create the TYPE30_4, TYPE30_5, TYPE26 datasets
with the MXG default variables (but only from MVS/XA) and
with trivial tailoring of kept variables through ADD= and
DROP= syntax. This is a list processing problem, where
the input lists are a tested, changing part of MXG code.
A data step seems to be the only right way to implement
this design, but don't look for it before 1989! Another
MXG user has shown me his proprietary solution which is
based on a data dictionary, implemented with macros. It
is also under consideration. Then also, SAS Institute
announced at SUGI 88 that the SAS/AF CPE Reporting System
(currently free upon request) will be automatically on
SAS 5.18. That is likely to be the test bed for any such
MXG offering.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 06.044 The optional DL/I counters and clocks which can be added
IMACICDL to your CICSTRAN data set from type 110 SMF records may
Mar 8, 1988 not be labeled. The LABEL statement is inside the 1.6
comment block, but not in the 1.7 comment block. If you
enabled both 1.6 and 1.7 DLI counting, your labels are
fine, but if you enabled only 1.7 DLI counts, you should
copy the LABEL statement from in the 1.6 code in IMACICDL
into the same place in the 1.7 code.
Thanks to Jim Gilbert, Texas Utilities, USA.
Change 06.043 This ASM program and associated REXX EXEC is for VM/SP
ASMVMCOPY and VM/SP HPO sites who do not have a CMS SAS license,
REXXCOPY who want to copy the VM/Monitor spool data records to a
Mar 8, 1988 CMS file (typically to then be processed by MXG under the
MVS SAS System). The EXEC should be self explanatory, and
the ASM source program needs only compiled and linkedited
to be useful. (If you have the CMS SAS System, the Infile
Exit named MONITOR allows the copy of Monitor Spool Class
data directly, without ASMVMCOPY program.) This program
is functionally equivalent to the VM MAP MONDISK/MONTAPE
routines.
Change 06.042 Support for RMDS Release 3.0. One MXG Format, new values
FORMATS for existing formats, and a new Macro in IMACRMDS is now
IMACRMDS required to tell MXG whether its RMDS release 2 or 3, as
VMACRMDS there is no version indicator in the data records.
Mar 8, 1988 self-recognition.
Thanks to Randy Graves, City of Albuquerque, USA.
Change 06.041 Reserved Change number.
Mar 8, 1988
Change 06.040 Support for the SMF record created by Goal System's
ANALPDSM PDSMAN/SP product. This code was written in Germany and
EXTYPDSM donated to MXG. It was slightly restructured, and thus
IMACPDSM any errors are my fault, not theirs.
TYPEPDSM This implementation (which started with functioning code)
VMACPDSM produced a "typical" MXG support set for an SMF record:
Mar 7, 1988 Five new source members, 250 SAS source lines, one SAS
data set with 21 variables and one new MXG format.
Thanks to Engelbert Smets, Provinzia Versicherungsanstalten, GERMANY.
Change 06.039 Member ANALDB2R produces DB2PM-like summary reports. They
ANALDB2 have been further validated by detail comparison and now
ANALDB2R they should be reliable. This validation uncovered an MXG
Mar 7, 1988 error in member ANALDB2R which affected variable QXFETCH
in DB2STAT1 data set, because Change 5.144 (which changed
QXQUERY to QXFETCH) was not applied to ANALDB2R.
The ANALDB2R report has been re-written as four new-style
%macros and support reports by DB2 system. Comments in
that member describe the selection criteria. Another DB2
report has been added also. Expect more DB2 reports in
the next prerelease (which hopefully will support the SMF
type 102 DB2 record as well)!
Five SQL values in the Accounting summary were close, but
were nevertheless wrong. Most of the other differences
between DB2PM and MXG reports came from these factors:
a. IBM uses a slightly different value for interval in the
denominator of all rates (still under investigation,
but it looks like IBM modulos minimum to adjacent 10
minute TOD, modulos maximum SMF time up to its 10 min
TOD and then takes difference as interval).
b. A difference of one in the last digit almost always is
noted. IBM truncates, MXG rounds.
c. IBM averages include zero values but MXG used to use a
SAS missing value. MXG now sets zero to agree with IBM.
d. Errors (in my opinion, still under investigation) in
their DB2PM Statistics Summary report code:
1. Buffer Pool "Current Active Buffers" is actually the
maximum number of buffers, and the Max/Min numbers do
exist, even though not printed by DB2PM.
2. Service Controller "Datasets Open - Current" is larger
than "Datasets Open - Maximum" and not equal to either
current or maximum in SMF record. SMF=MXG looks right
now. This was reported in Change 5.89d.
3. Still as reported in Change 5.89a, EDM Pool "FREE PG
IN FREE CHANGE" and adjacent AVERAGE values are wrong
because QISEFREE is (incorrectly) the value from the
preceding record.
4. Change 5.89e (Agents Services and Storage Manager)
fields (QVASX... and QSST...) have not been confirmed
as corrected.
5. System Events "Abends EOT" shows zero even though the
next page, Subsystem Service Component "Subsystem
Allied Memory EOT" value is 203.
e. Additional changes in the Accounting Summary report:
-Group total line printed only when there was a group!
This will reduce the size of the MXG report by half as
many pages as it was.
-RATE/HR and %DYNSQL report fields are now calculated.
-The average values in this report now agree with IBM's.
Five fields (ABNRM TERM thru OTHER MANIP) disagreed. The
1st was wrong, the others were different because IBM's
averages included 0 values, while MXG used missing value
There was no error in the MXG DB2ACCT data set, only in
this ANALDB2R report program.
This change required 16 dedicated hours.
Thanks to Louis Eliscu, Continental Insurance Company, USA.
Thanks to Ralph A. Pepe, Connecticut Bank & Trust Company, USA.
Change 06.038 Continued validation of MXG VM/Monitor data sets shows a
ANALVMOS numeric difference on some average values. These design
VMACVMON considerations caused the variations:
Mar 05, 1988 -MXG set values to missing, while IBM sets everything to 0
(which changes the Number of observations in the Mean).
-MXG defined ACTIVE if the USER used any CPU time during
the interval while IBM tested only the virtual CPU time.
There are lots of user records (for PROFS users maybe?)
with CPUSVITM zero but with CPUSTOTM non zero that MXG
formerly counted ACTIVE. CPUSTOTM non-zero with CPUSVITM
non-zero means CP CPU time with no VTIME. This may be a
result of PROFS machines, actually inactive during the
interval, whose "display clocks" must nevertheless be
updated (or something like that) causing measured CP CPU
time during the interval. In any event, MXG now counts
ACTIVE just like IBM.
-MXG deleted all records in the first two intervals. This
was done in initial testing when large CPU time values
were found in the first few records, and because the 1st
record will eventually be deleted (can't calculate delta
'til you get the second record). However, the real cause
of those "bad" CPU times turned out to have been fixed
by Change 5.133 (negative decremented counter reset)!
-In summary, MXG now keeps the second interval, uses zeros
and IBM's ACTIVE calculation to more closely match VMMAP
reports. The detail data was never really wrong.
a.ANALVMOS needed PROC SORTS and some new calculations for
the Paging and Swapping Volume data sets to be right in
the summary reports and data sets.
b.VMACVMON revisions include:
-Logic which used to output observations after the second
interval (INTRVCNT GT 2) was changed to (INTRVCNT GT 0)
so that all records initially create an observation.
-Final MERGE to build VMONPERF data set now does delete
the first interval (after delta calculation). This was a
result of the previous logic change.
-Additional logic sets missing values to zeros for those
queue stats (cpuq defrq ioq pageq pswait runq stgq swapq,
and their derived percentages).
Thanks to Steve Glick, Southern Methodist University, USA.
Thanks to James Farnsworth, Carolina Power & Light Company, USA.
Thanks to Jeff McCourt, The Continuum Company, USA.
Change 06.037 This change revises and replaces 6.011, which added only
IMACCADI the EXD support. SYSOUT handling products CA-DISPATCH and
IMACEXD EXD create modified type 6 SMF records. This change adds
VMAC6 support for those modified record, but the user who does
Mar 05, 1988 not have those products will not see the new variables in
her TYPE6 data. The algorithm to accomplish this task is:
The new variables are already in the KEEP= list in the
definition of _VAR6 macro in member VMAC6, but the code
that references the new variables are commented out in
the associated IMAC.... member. To create either set of
variables, you need only copy the appropriate IMAC.... to
your USERID.SOURCLIB, remove the comments and TYPE6 will
contain the new variables. If you also want them in your
PDB.PRINT data set, you need also edit IMACPDB and add
the variables to _PDB_6 definition therein.
Thanks to Larry Miller, First American National Bank, USA.
Change 06.036 The JOB variable has been added to the new type 41 (DIV,
VMAC41 Data-In-Virtual) SMF record by IBM, but I can't find the
Mar 05, 1988 APAR/PTF which made the change. Only the JOB was added;
the READTIME is still not there, so you can not merge a
TYPE41 with the other SMF records of a job! This will be
an important record in MVS/ESA in the future, as DIV is
the primary physical implementation for the data spaces
announced in MVS 3.0. At least I think thats right. If
you are testing DIV, you should see APAR OY09833 which
fixes a DIV problem with missed RPS revolutions (and the
concomitant elapsed time elongation) with 3380s behind
Model 23 cache controllers!
Change 06.035 The VVR decoding worked perfectly, unless the ENTRNAME is
VMAC60 exactly 44 bytes (which caused "SUBSTR ARGUMENT INVALID"
Mar 05, 1988 message). To repair, replace existing lines 76 thru 83
(that's 8 lines) with these seven (renumbered) lines:
INPUT @OFFPROD+179+VVRCMPNL VVRKEYL PIB1. @; 0076
VVRKEYL=VVRKEYL-1; 0077
INPUT VVRKEY $VARYING44. VVRKEYL 0078
+1 0079
VVRCATNL PIB1. 0080
VVRCATNM $VARYING44. VVRCATNL 0081
@; 0082
Thanks to Thomas Frenkel, CITIBANK N.A. New York, USA.
Change 06.034 The VMSORT product from VMSI can cause a spurious Detach
VM or your 190 disk. The Vendor fix is S140520.
Mar 05, 1988
Thanks to ???, ???.
Change 06.033 The references on pages 247 and 252 of the MXG Supplement
TYPEMONI concerning the count of Landmark CICS transactions in the
Mar 05, 1988 history summary records should read that TATASKNR (and
not the other variable TASKNR) contains the total count.
Thanks to William Pedilla, Farmers Insurance, USA.
Change 06.032 This is hopefully the final hit on the IDMS Performance
VMACRTE Monitor (RTE) data sets. The INPUT TAWPGMLL statement at
Mar 05, 1988 line 964 needed to be INPUT +4 TAWPGMLL to skip over the
TASKID. This only affected the first six copies of 6.1.
Thanks to Rodney L. Reisch, General Electric Silocon Products, USA.
Change 06.031 This logic change in SPINCNT logic really only affects a
BUILDPDB site which wanted to SPIN once and only once (to BUILDPDB
BUILDPD3 once a month, for example). The old algoritm would SPIN
Feb 17, 1988 on the first day (_SPINCNT = 0) or on the third day
(_SPINCNT = 1), but it would not SPIN on the second day.
Change 5.134 attempted to address this problem, but it
did not help. This piece of logic has always been wrong
in MXG, but Leigh tracked it down and fixed the problem
for all of us.
The SPINCNT logic is described in Chapter Thirty-Three.
Start first with the Supplement, then the earlier Guide.
There will be a slight impact on current PDB users, as
this correct algorithm PDBs (verb) the data on the day
it should have, which is one day earlier than before:
IMACSPIN
_SPINCNT Old Algorithm Correct Algorithm
0 PDBs today, PDBs today,
No SPIN. No SPIN.
(No change here).
1 SPINs twice, SPINs today,
PDBs third time. PDBs tomorrow.
2 SPINs thrice, SPINs twice,
PDBs fourth time. PDBs third time.
.......
10 SPINs eleven days, SPINs ten days,
PDBs twelfth day. PDBs eleventh day.
BUILDPDB BUILDPD3 From To
line 375 385 SUM( ,0.5); SUM( ,0);
line 380 390 GT GE
Thanks to Leigh Miller, GRE Insurance Ltd, Camberwell, VIC, Australia
Change 06.030 ANALMNTS adds a new capability to MXG by providing a way
ANALMNTS to calculate a useful "typical" average time per tape
EXTY74 mount for each tape drive for each hour when there were
Feb 16, 1988 mounts on that tape drive. ANALMNTS merges the TYPE74
mount pending durtion with the TYPE21 count of dismounts
during the RMF interval to calculate AVGMNTTM for each
hour for each device. Because TYPE21's timestamp is the
dismount (could be much later than mount timestamp), the
values calculated do have some ambiguity - occasionally
very large differences are observed between the actual
mount time and that calculated by this algorithm. More
on the validation of this algorithm later. Call if you
want to use it.
In developing ANALMNTS, the MXG Default for TYPE74 which
creates observations only if PCTDVUSE or SIO74CNT are non
zero (Default in EXTY74) was enhanced to OUTPUT TYPE74 if
mounts were pending, even if nothing else happened. This
change in MXG default is needed if you create type 74 RMF
records for TAPE and want to use ANALTAPE to estimate the
mount time. The number of additional observations should
be minimal (but their absence added 6 hours to validate
ANALMNTS!)
Thanks to Dan Kaberon, Hewitt Associates, USA.
whose originally proposed the algorithm last year, and who helped me
with this one. He has given IBM a suggestion to add two fields,
total mount and number of mounts, to the TYPE74 interval record,
which would (if IBM responds) permit un-ambiguous average tape mount
time calculations from TYPE74 records directly for each RMF interval
for each device.
Change 06.029 NLDM TYPE39 variables TBYT.... and CBYT...., Text/Control
VMAC39 bytes between primary and secondary were reversed. The
Feb 16, 1988 .BYTPRSC variables should have been .BYTSCPR and vice
versa.
Line 306 should be ....PRSC
Line 308 should be ....SCPR
Line 310 should be ....PRSC
Line 312 should be ....SCPR.
Thanks to Mike Paller, Harris Corporation, USA.
Change 06.028 TYPE71 variables PAGBLMN and PAGBLMX (min and max number
VMAC71 of pageable frames) for MVS/XA have always been reversed.
Feb 16, 1988 (I guess this has been overlooked since almost everyone
looks at fixed pages rather than pageable; also, PAGBLAV
(average number of pageable frames) was always correct.
Lines 545 should be: PAGBLMN=PAGBLMN-FIXEDMX;
Lines 546 should be: PAGBLMX=PAGBLMX-FIXEDMN;
because in MVS/XA, the inputted PAGBL.. field is actually
the total frames, and max PAGBL is when FIXED is minimum.
Thanks to Kathy Manos, Stroh Brewery Company, USA.
Change 06.027 Syntax errors which slipped into the first pre-release of
VMAC28 NPM 1.3 support in MXG 6.1. Affected only 5 pioneers.
IMACROSC a.VMAC28:
Feb 15, 1988 Line 576, remove BINDCODE (from the $HEX2. line).
Line 577, add BINDCODE (to the HEX2. line).
Line 582, %%INCLUDE vice %INCLUDE SOURCLIB(IMACSHFT).
b.IMACROSC:
Restore MACRO _ROSCDDN WORK % which had been deleted
in error.
c.NPMFCCCT was renamed to NPMFCCTM to be consistent with
NPA names and meanings, and the PCTBUSY and PCTSLOW
variables were added to the NCP statistics, PCTBUSY to
the other interval data sets. With these additions, the
NPM data sets should be usable in place of TYPE38 data.
(I'll try to get a mapping together in the next release).
This paragraph added March 7, 1988.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.026 The Compatibility notes in MXG Version 5.5 should have
TYPE74 noted that TYPE74 data set will usually have fewer OBS
Feb 9, 1988 under 5.5 than with 4.4. TYPE74 only contains OBS if the
device was busy (PCTDVUSE), but a 4.4 error carried this
to the next device, causing 4.4 to output an extra OBS
for a device which had had no activity. No big deal here,
except for the time it took this user to validate that
the change was correct and for the good!
Thanks to Barry Pieper, First Bank Systems, USA.
The previously thanked Tom Frenkel gets to see his name now correctly
spelled, and his company as Citibank, and not its competitor!
=============Changes thru 6.025 as of Feb 4, 1988 ===================
======First pre=release of 6.1 included Changes through 6.023=========
Change 06.025 A new MXG Exit for the PDB has been created. EXPDBSPN is
BUILDPDB taken after yesterday's SPIN data sets and today's new
BUILDPD3 SMF data sets have been interleaved, but before the MERGE
EXPDBSPN in which the decision TO SPIN or NOT TO SPIN is made. It
Feb 4, 1988 may be necessary for NJE sites, where NJE creates type 6
records for the same job with multiple JES numbers. One
site is trying to use this exit to find the correct JESNR
(from the type 26 original JESNR) and store it into TYPE6
so that MXG will then assemble them all into the one JOBS
observation for the job. It may have other uses, too.
Change 06.024 DISP=(MOD,CATLG) is used in JCL examples to show you how
Feb 4, 1988 to create the data set if it doesn't exist and to use the
DOC existing copy if there is one, and to not have to EDIT a
JCL file. It turns out that if the VOL=SER parameter is
also on the DD card, the job dies with a 213-04 ABEND!
It's not clear why, but that's the way it is with JCL.
(Actually, if your installation uses the VOL=SER for you
to specify a generic for a group of volumes, MOD,CATLG
may still work, since that installation modification does
not actually send a VOLSER over to the JES Converter.)
The moral is, don't specify VOLSER and MOD,CATLG works!
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.023 VM/Monitor data on Jan 30, 1988 from 21:29:55.02 until
Feb 4, 1988 the monitor was stopped will have STARTIME beginning at
VMACVMON 06:46:48.97 on July 11, 1987, 203.613 days earlier. The
VM/Monitor records contain only five bytes of the actual
8-byte TOD datetime stamp. Five bytes holds 203.613 days.
MXG implemented a slick algorithm to figure out exactly
when the current 203-day interval began (BASETIME) so the
5-byte MNHTOD could be added to create STARTIME. (You can
not just use the COLLTIME in the 0.97 record because it
is only accurate to a full second.) Once the BASETIME had
been set by the first record, however, MXG failed to test
to see if MNHTOD had wrapped into the next interval! This
could easily have been missed, since Jan 30 was a Sat.
(The next exposure is 21AUG88:12:13:00.97, a Sunday!)
-Add LASTHALF to the retain statement at line 284.
-Replace THEN BASETIME=BASETIME-FFFFF; in two places, in
lines 275 and 2025 with
THEN DO;
BASETIME=BASETIME-FFFFF;
LASTHALF=1;
END:
-Insert after line 278
IF LASTHALF AND MNHTOD LT FFFFF/2 THEN DO;
BASETIME-BASETIME-FFFFF;
LASTHALF=0;
END;
Change 06.022 -Further validation of MXG IMS log data sets with the IBM
Feb 3, 1988 utility's output by Pete uncovered several enhancements,
TYPEIMS as well as legitimate differences in transaction counts.
VMACIMS The IBM utility does not begin counting transactions til
it finds an IMS checkpoint record, but MXG starts with
the first 07 record found. If the IMS log tape does not
start with IMS startup, MXG will count all, IBM won't!
Pete also improved the match-up logic, using DLRTOKEN in
addition to PSTNUMBER TRANSACT. Additionally, variables
APPLID, MSGSZIN, MSGSZOUT, NODENAME, and TRANCLAS were
added to the IMSTRAN data set. There still may be minor
glitches in MXG, but the quality of the data gets better
each time someone like Pete really digs in.
-Member EXIMSCDE was deleted from the SOURCLIB. It was a
test member, and should have not been in 5.5. References
Thanks to Pete Shepard, Ashland Oil, USA.
Change 06.021 SYNCSORT sort SMF record timestamps SORTEND and SORTBEGN
Feb 3, 1988 and calculated ELAPSTM were incorrect. BEGIN and END were
VMACSYNC four PK1. fields with HH,MM,SS,TT and ELAPSTM relocated.
Thanks to Chuck Hopf, Dean Witter Reynolds, USA.
Change 06.020 -The technique (described on page 10 of MXG Newsletter 11)
Feb 3, 1988 to build the month PDB using only one tape drive should
MONTHBLD have the DCB=TAPETEMP added on the FILE MONTH statement
at line 144:
FILE MONTH MOD CLOSE=LEAVE DCB=TAPETEMP;
(If you specified a DCB on the MONTH DD card, you did
not notice the problem. Without a DCB parameter, SAS
uses the FILE BLOCKSIZE, which defaults to 6400 bytes.
As long as the internal length of a SAS observation is
less than 6400 bytes, no problem, but TYPE78VS data set
(among others) is larger than 6400 bytes. This change
uses the build data set block size for the MONTH file.)
-A new line (95.1) should be inserted before the percent
sign which terminates the MACRO _MNTHBLD definition:
PROC DATASETS NOLIST;DELETE DUMMY._DSET;
This will keep the size of the DUMMY allocation within
its 3-track allocation.
Thanks to Lee Salley, Westinghouse, USA.
Change 06.019 This MXG function dynamically allocates all online DASD
Feb 3, 1988 volumes in preparation for VTOC reading. This function
FMXGUCBL uses MVS/XA UCB look-up logic, and thus the function does
not work under MVS/SP at the present time. If you fix it
to execute under MVS/370, let us know and we'll share.
Change 06.018 Lines printed by VPS (SYSOUT spooling product) are seen
Jan 27, 1988 in PDB.PRINT as external writer lines rather than print
VMAC6 lines because VPS product does not store printer name in
output device field. VPS records contain string "VPS" in
the UCS field. This change recognizes VPS type 6 record
and sets DEVICE to PRINTER so that BUILDPDB will put the
VPS lines in PRLINES variable. Expand the IF statement at
line 148 by adding OR UCS=:'VPS'
(to set DEVICE='PRINTER') for the VPS type 6 record.
Thanks to Rodney L. Reisch, General Electric Silicon Products, USA.
Change 06.017 Support for Version 7.1 of Landmark's Monitor added. The
Jan 26, 1988 MXG 5.5 code will execute without error, but this change
TYPEMONI adds three one-character "Y" flags, HITASKS, MILLENUM,
and PSBPWAIT to MONITASK. The ELAPSUM variable (their
field MFSTTIM), total elapsed time of all transactions in
the interval, could overflow its 4-byte size. To prevent
overflow, you can specify TMRL=Y in your SIT to cause
MFSTTIM to use "Optional Time Resolution". MXG recognizes
TMRL is on and stores the correct duration in ELAPSUM.
The other changes introduced in 7.1 were already in place
in MXG (they had been added to support SPECIAL78 zap).
Landmark gave me plenty of lead time for this change.
Change 06.016 The creation of UOWTIME (CICS 1.7) from UOWID caused the
Feb 3, 1988 "Invalid Data for Input Function ..." SAS message (which
Feb 19, 1988 was non-fatal and simply sets UOWTIME to be missing). It
VMAC110 turns out there are three different formats/locations for
the time stamp associated with the creation of this task:
NETSNAME UOWID TIME IS FOUND IN
PRODCICS000000000000 TTTTTT0002 UOWID PIB6.
LIGAB3Z6.G.GAB3ZNNNN HHMMSS0001 UOWID HHMMSS6.
.AUB001B-07.08.07000 00 0001 NETSNAME HHMMSS8.
1.CCCCCCCHH.MM.SS000 00 000N NETSNAME HHMMSS8.
DVRHLC5.IRC000000000 092111000N UOWID HHMMSS6. *
0 = '00'X (NULL)
. = '4B'X (PERIOD) *see change 6.080
The new algorithm replaces the ELSE DO; group at lines
720-728 with this logic:
ELSE IF SUBSTR(NETSNAME,18,3)='000000'X THEN DO:
HH=.;MM=.;SS=.;
HH=INPUT(SUBSTR(NETSNAME,10,2),2.);
MM=INPUT(SUBSTR(NETSNAME,13,2),2.);
SS=INPUT(SUBSTR(NETSNAME,16,2),2.);
END;
ELSE DO;
HH=.;MM=.;SS=.;
HH=INPUT(SUBSTR(UOWID,1,2),2.);
MM=INPUT(SUBSTR(UOWID,3,2),2.);
SS=INPUT(SUBSTR(UOWID,5,2),2.);
END;
Thanks to C. J. Legrand, Tenngasco Corp, USA.
Thanks to Steve Lottich, University Hospitals of Iowa, USA.
Change 06.015 VM/Monitor variable APTCPU is missing because WTSIO1TM
Feb 3, 1988 in line 1205.1 should have been spelled WTIOS1TM.
VMACVMON
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.014 VM/Monitor summarization dies with SAS 180 syntax error
Feb 3, 1988 because:there should be two percent signs instead of one
ANALVMOS a.line 5430 should be %%INCLUDE instead of %INCLUDE
b.lines 5940 and 6050 should be 1 PCT of vice 1 % of
(when I wrapped substitution MACRO definitions around
Steve's code, I failed to test sufficiently and the
single percent signs, even in comments, terminate the
MACRO definition pre-maturely).
c.Insert new line 158.1 (after IOS=CNTVIOCT;):
IF DEVTYPE=0810X THEN VOLSER='*TAPE*';
to cause tape devices to be reported in addition to DASD.
Thanks to Steve Glick, Southern Methodist University, USA.
Change 06.013 EPILOG records (from Candle) code has been executed by
Jan 26, 1988 two users and their changes implemented. Read the notes
IMACEPIL at the beginning of member VMACEPIL. Note that member
TYPEEPIL IMACEPIL is deleted by this change, it is not needed as
VMACEPIL the data is not written to SMF after all, but only to a
FB, LRECL=600 sequential file! The real heart of this
change was to replace _SMF reference in TYPEEPIL with a
INFILE EPILOG LENGTH=LENGTH COL=COL; statement! Also,
TODSTAMP8. format on line 336 for BICPUTIM should be
MSEC8. A final cosmetic change in MXG was to split
CICPUID into CIMODEL, CIID, and CISERIAL.
Thanks to Merrick Dean, MONY, USA.
Thanks to Warren Hayward, NY, USA.
Change 06.012 I almost hate to waste your time with this obsolete SMF
Jan 26, 1988 type 4 or 34 record change. By now you really should be
VMAC434 using the type 30, and with MVS/XA 2.2 you must use 30s.!
Change 5.19, which changed the format of PVTBOT, PVTTOP,
and REGREQST to use the MG078CV. "Meg/K/Bytes" storage
value format, was only partially applied to VMAC434. The
three variables need to be each multiplied by 1024 after
they are read in. VMAC30 can be used as an example if it
is really important to you to fix.
Thanks to Kevin Wise, Allegheny Power, USA.
Change 06.011 Support for EXD (Express Deliveries) SYSOUT product from
Jan 26, 1988 SAR was added. This change was revised and replaced by
Change 6.037.
Change 06.010 -DD card for DCLOG (IDMS DC LOG) was missing in JCLUXREF
Jan 26, 1988 (the MXG Cross Reference Utility).
JCLUXREF -TYPEDOS internally overrided the LENGTH of the variable
TYPEDOS SHIFT, which should be set in IMACSHFT. Now, there is
UTILCICS no LENGTH for SHIFT forced by TYPEDOS.
-UTILCICS cosmetically improved in listing the contents of
CICS 1.7 Dictionary records.
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Change 06.009 -Lines 211 and 961 should have _DB2R. following the DATA=
Jan 26, 1988 and preceding the DB2..... (This only caused a problem
ANALDB2R when MXG DB2 data sets were built with BUILDPDB.)
-All occurrences of 'BY QWHSSSID' should be changed to
'BY SYSTEM QWHSSSID'. (This only caused a problem if DB2
executes on more than one MVS system.)
Thanks to Bill Border, Apollo Computer, USA.
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.008 Labels for DB2SRBTM and DB2TCBTM are reversed in lines
Jan 26, 1988 167 and 168.
VMACDB2
Thanks to Jim Groseman, Duquesne Systems, USA.
Change 06.007 Support for the type 28 SMF record from NPM 1.3. This new
Jan 20, 1988 SMF record consolidates the data formerly in TYPE38 and
EX028... TYPE39 (NPM and NLDM records) and the VSAM Session Stats
FORMATS file created by NPM (supported by MXG XNPMSESS member).
TYPE28 There are two APARs, one documentation (OY11468) and one
VMAC28 correcting short record (OY11641) affecting the type 28.
MXG creates twenty-four NPM..... data sets which are
listed in comments at the beginning of VMAC28 member.
You will find no announcement of this record in any NPM
product announcement!
Thanks to Mike Pichowicz, U.S. Trust, USA.
Thanks to Billy Westland, Candle Corporation, USA.
Thanks to Robert Bunn, IBM NPM Level 2, USA.
especially.
Change 06.006 Documentation of TYPE1415 variable RECIND1 on page 494 of
Jan 12, 1988 the MXG Book is one bit off. First, the variable name is
MXG Guide actually RECIND1, and bits 1 thru 7 should be renumbered
as bits 2 thru 8, and bit 1 - reserved should be added.
The code in VMAC1415 was correct.
Thanks to Michael Doyle, Arizona Department Economic Security, USA.
Change 06.005 IDMS Performance Monitor from Cullinet was massively
Jan 12, 1988 enhanced in IDMS 10.1. This change affects only the new
VMACRTE IDMS.... data sets created from their new subtypes.
The TYPERTE data set was not in error.
a.IDMS Performance Monitor Wait times (the new variables
introduced in IDMS 10.1) were off by 10000:
Change all seventy occurrences of PIB8. to MSEC8., and
delete all seventy lines containing 409600.
b.Several BUFF variables were corrected to ARAS, and some
variables were added to TIME12.2 format.
c.Two of the new subtypes of the record (IHDRTYPE=1 and =2)
are segmented records, but the segments were not always
in the correct order, and sometimes were duplicated! MXG
5.5 avoided the problem by skipping over type 1, but it
hit problems with the type 2. With further pressure on
Cullinet and further investigation by all three thankees,
(real cooperative work here, each one found a piece),
Cullinet apparently has PTFs now to fix their broken
records. There may still be sequence problems with their
PTFs, but MXG will reconstruct the real logical record
even when the segments arrive out of order! (Segmenting
is necessary because their journal record size maximum is
256 bytes, but the total SMF data is 500-600 bytes.)
Make sure you have installed the January, 1988, Cullinet
maintenance tape to avoid any problems, and validate!
d.An MXG error in IHDRTYPE=10 subtraction was also fixed.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Thanks to Gayle Bartel, Pizza Hut, USA.
Thanks to Rodney L. Reisch, General Electric Silicon Division, USA.
Change 06.004 TYPERTEJ processes IDMS Performance data from a Journal
Jan 12, 1988 File (TYPERTE reads the same data from SMF). TYPERTEJ was
TYPERTEJ off by two bytes, and did not format/length SMFTIME.
Change line 17 from +2 to +4 temporarily fixes the error;
several additional cleanups were also added.
Thanks to Bob Rutledge, Sherwin Williams Paint, USA.
Change 06.003 a. The labels for CICSTRAN variables SCWTECN and SCWTETM
Jan 11, 1988 should be exchanged (lines 1511-1512).
VMAC110 b. CICS 1.7 increased OPERATOR from 3 to 4 bytes and SIT
from 2 to 4 bytes. MXG correctly read in these variables,
but their stored length is set by its first occurrence
(in 1.6 code!) To correct, insert after line 244 :
INFORMAT OPERATOR SIT $CHAR4.;
Thanks to Mark Bercov, Canadian Occidental Petroleum, CANADA.
Thanks to Richard Evans, Mervyn's, USA.
Change 06.002 Landmark's The MONITOR records can be corrupted by a CICS
Jan 7, 1988 transaction ABEND. The corrupted records confuse the MXG
TYPEMONI test for compressed record format (which formerly issued
a SAS ABORT ABEND 99, to terminate the job). With this
change, neither bad records nor compressed data without
the EXITMONI will cause an ABORT. The first twenty bad
records will be hex printed on the SAS log, but the job
will proceed to read all other records in the input file.
Thanks to John Leath, Fleet Services, USA.
Change 06.001 Variable AVGSWPMS in TYPE75 data set was wrong for swap
Jan 7, 1988 data sets. MXG used DSBUSY (SMF75USE) in this calculation
VMAC75 but NRSAMREQ (SMF75REQ) must be used because swap data
XMAC75 sets use multiple IORBs. The IBM description (SMF manual,
SMF75REQ) and RMF footnote for the equation for AVGSWPMS,
(which allude only to multiple exposure devices) will be
revised to include swap data sets as well. While only the
swap service time was in error, this change protects the
future by also using NRSAMREQ in AVGPAGMS calculation.
Replace DSBUSY with NRSAMREQ in lines 109, 113, 188 and 192.
Thanks to Ken Thomas, Maryland Casualty Company, USA.
LASTCHANGE: Version 6