COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 12.12
=========================member=CHANGE12================================
/* COPYRIGHT (C) 1984-1995 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 12.12A, dated Mar 20, 1995, thru 12.328.
MXG Version 12.12A is dated Mar 20, 1995, thru Change 12.328
MXG Version 12.12 was dated Mar 1, 1995, thru Change 12.314
MXG Newsletter TWENTY-SEVEN, Mar 1, 1995, thru Change 12.306
MXG Version 12.07 was dated Feb 6, 1995, thru Change 12.290
MXG Version 12.06 was dated Jan 9, 1995, thru Change 12.240
MXG Version 12.05 was dated Nov 20, 1994, thru Change 12.218
MXG Version 12.04A was dated Oct 23, 1994, thru Change 12.192
MXG Version 12.04 was dated Sep 30, 1994, thru Change 12.169
MXG Version 12.03A was dated Aug 17, 1994, thru Change 12.140
MXG Newsletter TWENTY-SIX, Aug 4, 1994, thru Change 12.128
MXG Version 12.03 was dated Aug 4, 1994, thru Change 12.128
MXG Version 12.02 was dated Jul 4, 1994, thru Change 12.084
MXG Version 12.01A was dated Jun 15, 1994, thru Change 12.056
MXG Version 12.01 was dated Jun 1, 1994, thru Change 12.047
MXG Version 11.11 was dated Mar 26, 1994, thru Change 11.361
MXG Newsletter TWENTY-FIVE, Mar 26, 1994, thru Change 11.347
See member NEWSLTRS for text of Newsletter TWENTY-SEVEN of 1Mar95.
Contents:
I. MXG Software Version 12.12A, dated Mar 20, 1995.
III. MVS Technical Notes not printed in Newsletter TWENTY-SEVEN.
VIII. Incompatibilities and Installation of MXG 12.12A.
1. Members IMAC7072 IMAC74 IMACDB2 IMACPDB IMACWORK
IMACTMNT MONTHBLD WEEKBLD IMACCICS TYPEQAPM changed.
2. Installation instructions.
IX. Online Documentation of MXG Software.
X. Changes Log
I. MXG Software Version 12.12A, dated Mar 20, 1995, contains these major
enhancements:
Major enhancements added in MXG 12.12A dated Mar 20, 1995:
Twelve MXG 12.12 members had errors that are now fixed:
ANALCNCR ANALDB2C ANALDB2R ANALPATH ANALTALO IMACICSA
TRNDTALO VMAC80A VMAC110 VMACILKA TYPEMON8 TYPETMON
Support for Memorex/Telex LMS Version 3.1 (INCOMPATIBLE).
Major enhancements added in MXG 12.12 dated Mar 1, 1995:
Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.
Support for PR/SM APAR OW078986 adds "MVS Wait" to "LPAR Waits"
Support for Type 99 Subtype 1 added.
Support for CICSAO availability measurement SMF written by CICSAC.
Support for Mitchem's ACC/SRS user SMF record.
Support for LEGENT SAR Cross Memory Session Logoff user SMF record.
Support for Network Systems DXE channel RDS user SMF.
Support for Velocity Software XAMAP Version 2.2.
Support for CICSAO user SMF record for CICS availability.
Support for Boole & Babbage IMF Version 3.1 (for IMS 5.0).
Support for VAX/VMS Accounting and Performance data.
Amdahl's MDF now populates TYPE70PR/ASUM70PR with valid CPU time.
Candle's ITRF product-error corrections have been validated.
RACF TYPE80A enhanced to decode RACF commands of interest.
REXX program to convert DB2 GTF records to SMF format for MXG.
ANALPGNS reports CPU utilization by Performance Group.
ANALDB2R Support for DB2 Version 3.1 DB2PM-like reports.
ANALMTP Analysis of Tape Mounts Concurrently Waiting.
ANALRMFR enhanced, selection by storage class, device, LCU added.
XMXGSUM replacement for VMXGSUM is ready for full use.
Major enhancements added in MXG 12.07 dated Feb 6, 1995:
Support for TCP/IP Version 3.1 (incompatible).
Support for RMDS Version 2.1 (incompatible).
Support for TPX 4.0 (compatible with one line edit).
Support for RMF Monitor III ("ZRB") for MVS/ESA 4.3 - partial.
Support for Xerox Print Service Manager XPSM SMF record.
Support for BGS's BEST/1 I/O Monitor SMF record.
Support for Boole & Babbage CMF VSAM MRR records.
%ANALCNCR algorithm for concurrency analysis (inits, tapes, etc.)
Circumvention for CACHE90 zero observations with RAMAC devices.
New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode
Major enhancements added in MXG 12.06 dated Jan 9, 1995:
Support for NETSPY 4.5. Compatible except for LU6.2 NSPYAPPL data.
Support for Innovation Processing's IAM user SMF record.
VM/ESA 2.2 Scheduler records supported.
Invalid DB2 type 101 SMF record workaround (fix is APAR PN63234).
Revised ANALPATH reporting for MVS I/O Path analysis.
Final (?) enhancements for VMXGSUM parsing of all dataset options.
Major enhancements added in MXG 12.05 dated Nov 20, 1994:
Support for MQM 1.1.2 Performance Statistics type 115 SMF record.
Support for MQM 1.1.2 Accounting type 116 SMF record.
Support for Omegamon for CICS V100 and V300 SMF.
Support for Landmark Monitor for MVS Release 1.3 enhanced.
Support for InfoAccess Release 5.1 user SMF record.
Support for HSM APAR OW05988, adds CPU time to FSR!
Support for Sterling Software's ASM V3.0.0 type 39 records.
Support for CA/SQL user SMF record (same as IDMS records).
Support for S/390 Parallel Query Server SPQS SMF 123 started.
Correction for NPM 2.2 NPMVSaaa datasets.
CICS Utility UTILCICS now identifies type 110s from Omegamon.
New dataset PDB.TYPE72SC for Goal Mode Server data.
Type 42 technical note, removal of GMT offset calculation.
Major enhancements added in MXG 12.04A dated Oct 23, 1994:
Support for Omegamon for VTAM V160 (Incompatible).
Correction to MXG 12.04-only errors:
Type 28 Input Statement EXCEEDED error message.
MXG Tape Unload caused return code 4, extra members unloaded.
UTILCICS failed with syntax error
Correction to SAP Accounting under IMS.
Correction to NETSPY Token-Ring TIC-UTIL in NSPYTR - was too large.
Correction to TYPE42 STARTIME/ENDTIME - may be on GMT clock.
Technical note on Memory measurement in MVS Technical Notes.
Major enhancements added in MXG 12.04 dated Sep 30, 1994:
All "Chapter 99 CodeSharks" now honored in ACHAP99.
Support for CICS/ESA 4.1.0 (compatible) adds important new measures.
Support for NPM 2.2 (compatible, but new subtypes).
Support for LEGENT's TSO/MON 6.1 (compatible).
Support for Landmark TMON Monitor for CICS/ESA 1.3 (incompatible).
Support for Landmark TMON Monitor for DB2.
Support for STK ICEBERG SMF record subtype 5.
Support for CA's TELEVIEW user SMF record.
Support for APARs OW00484/UW06888/others corrupt TYPE1415 variables.
DB2STATS variables QB3Taaaa/QB4Taaaa corrected.
TYPE37 Short LAND segment INPUT STATEMENT EXCEEDED corrected.
Major enhancements added in MXG 12.03A dated Aug 17, 1994:
Support for APAF 2.2 (incompatible).
Support for TLMS Release 5.4 (incompatible).
Support for BETA93 1.6.1 validated (it was incomplete in MXG 12.03).
Further DB2 3.1 corrections in TYPEDB2 and TYPE102 support.
Major enhancements added in MXG 12.03 dated Aug 4, 1994:
Support for MVS/ESA 5.1 Type 99 Subtype 2 record.
Support for LEGENT's ASTEX Release 2.0.
Support for UniKix Release 4.1 Binary File
Support for EMPACT's HIPER-CACHE Version 1.1.1.
Support for SMF Type 50 VTAM Tuning APAR OW04453.
Support for RSD's WSF Release 3.5.1.
Support for Omegamon II for SMS V100/V110.
Support for BETA93 user SMF record.
MXG Tape Mount and Tape Allocation Monitor errors now works!
Correction for NPM Release 2.0 subtypes 214 thru 219.
Additional DB2 3.1 Trace IFCIDs supported.
Analysis ANALDB2C matches CICSTRAN observations with DB2ACCT.
Major enhancements added in MXG 12.02 dated Jul 4, 1994:
MXG Tape Mount and Allocation Monitor was revised, new reports.
Support for IBM's CRR 1.6 (3990-3 and 3990-6) (incompatible).
Support for DFSMS 1.2 changes to DCOLLECT (compatible).
Support for MEMO subtype 6 record.
Support for TCP/IP APAR PN34837 new field (compatible).
Support for MVS APAR OW00884/UW06821 - (no impact, see MVS Notes).
Support for IMS 4.1 Log Records (see IMS Technical Notes)
Major enhancements added in MXG 12.01 dated Jun 15, 1994:
Support for MVS/ESA 5.1 many new datasets (Goal Mode Incompatible).
Support for Measured Usage SMF Record 89 and changes to type 30.
DB2 Version 3.1 Buffer Pool statistics were incorrect in MXG 11.11.
OPC Version 1.2.0 had INPUT STATEMENT EXCEEDED error with MXG 11.11,
but change 12.002 corrects, plus adds support for split records!
Problem with Cache RMF Reporter Records discussed in Newsletter 25
are actually fixed by MVS APAR OW01787.
ANALDSET/ANALBLSR routines were corrected in Change 12.001.
All of these enhancements are described in the Change Log, below.
Table of availability dates for the IBM products and MXG version:
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990. 8.8
MVS/ESA 4.2 Mar 29, 1991. 9.9
MVS/ESA 4.2.2 Aug 1991. 9.9
MVS/ESA 4.3 Mar 23 1993. 10.10
MVS/ESA 5.1.0 Jun 24 1994 12.02
MVS/ESA 5.2.0 ??? ?? ???? 13.??
CICS/ESA 3.2 Jun 28, 1991. 9.9
CICS/ESA 3.3 Mar 28, 1992. 10.01
CICS/ESA 4.1 Oct 27, 1994. 12.04
CICS/ESA ?.? ??? ??, ????. 13.??
CRR 1.6 Jun 24, 1994. 12.02
DB2 2.2.0 1990 8.8
DB2 2.3.0 Oct 28, 1991. 10.01
DB2 3.1.0 Dec 17, 1993. 12.04
DB2 4.1.0 ??? ??, ????. 13.??
DFSMS/MVS 1.1 Mar 13, 1993. 11.11
DFSMS/MVS 1.2 Jun 24, 1994. 12.02
NPM 2.0 Dec 17, 1993. 12.03
NPM 2.2 Aug 29, 1994. 12.05
VM/ESA 1.1.1 Dec 27, 1991. 10.01
VM/ESA 2.0 Dec 23, 1992. 10.04
VM/ESA 2.1 Jun 27, 1993. 12.02
VM/ESA 2.2 ??? ??, 1994. 12.06
Table MXG support for non-IBM products:
Availability MXG Version
Product Name Date Required
Landmark
The Monitor for CICS/ESA 1.3 12.12
The Monitor for MVS/ESA 1.3 12.05
Candle
OMEGAMON for CICS V300 User SMF Record 12.05
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
III. MVS Technical Notes not printed in Newsletter TWENTY-SEVEN.
1. APAR OW06770 and QW09814 (PTFs UW10049 and UW14370) correct type 72
wrong values in MVS/ESA 5.1 fields SMF72ACT SMF72SER SMF72MTS
SMF72ITS SMF72CTS SMF72TAT and SMF72STS. Bad values occurred in any
interval in which a CICS region was FORCED or a batch job terminated
at end of memory. The bad values were all '7FFFFFFF'x, which in MXG
(being read as PIB4.) is 2,147,483,647!
2. Boole & Babbage CMF 5.1 creates RMF records with incorrect STARTIME
when SYNC is specified, which causes MXG's RMFINTRV dataset to see
incorrect uncaptured CPU times. Boole's fix is BPM5061. Another
symptom is a difference of 1 second between the STARTIME in the type
70 and the STARTIME in the type 71 records.
VIII. Incompatibilities and Installation of MXG 12.12.
1. Incompatibilities introduced in MXG 12.12 (since MXG 11.11):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMAC7072 IMAC74 IMACDB2 IMACPDB IMACWORK IMACTMNT
MONTHBLD WEEKBLD IMACCICS
b- The JCL for processing the OPC log requires two new DDNAMES so that
the OPC spanned records can be reconstructed and read by MXG. See
comments in member VMACOPC. Member JCLTEST6 was changed also.
c- The JCL for AS/400 processing with TYPEQAPM requires //QAPMIOPD DD
added. See Change 12.292
d- ASUMTALO was incompatibly changed in MXG 12.12, so early users of
the Tape Mount and Allocation Monitor analysis will need to rebuild
PDB.ASUMTALO (by %INCLUDE SOURCLIB(ASUMTALO) against each PDB that
they want to include), so that TRNDTALO will trend tape allocation.
e- These products were incompatibly changed by their vendor, and they
require MXG 12.12 (or at least the MXG 12.xx indicated):
MVS/ESA 5.1 (Goal Mode) Change 12.034 MXG 12.02
OS/400 Version 3.1.0 Change 12.292 MXG 12.12
TCP/IP Version 3.1 Change 12.257 MXG 12.12
RMDS Version 2.1 Change 12.264 MXG 12.12
Omegamon for VTAM V160 Change 12.186 MXG 12.04A
Landmark CICS Version 1.3 Change 12.151 MXG 12.12
Landmark MVS Version 1.3 Change 12.191 MXG 12.05
APAF 2.2 Change 12.138 MXG 12.12
TLMS Release 5.4 Change 12.136 MXG 12.03A
Cache RMF Reporter 1.6 Change 12.070 MXG 12.12
2. Installation and re-installation procedures are described in detail;
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTL:
Summary:
a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.
b. Allocate a 90-cyl PDS: MXG.V1212.MXG.SOURCLIB, and use IEBUPDTE
to read the MXG tape to create the 2500+ member Source Library.
c. Allocate a 1-cyl PDS: MXG.V1212.USERID.SOURCLIB for your site
"Installation Tailoring" Source Library. Installation specific
tailoring (like telling MXG your shift hours, which performance
groups are TSO, CICS, etc.) is done by copying and modifying MXG
source members into V1212.USERID.SOURCLIB.
d. Allocate a 1-cyl SAS Data Library: MXG.V1212.MXG.FORMATS and
execute SAS to create the library of Formats required by MXG.
e. If this is the initial install of MXG, tailor these members into
your MXG.V1212.USERID.SOURCLIB tailoring library:
IMACACCT (Account Length),
IMACSHFT (Shift Definitions),
IMACWORK (Performance Group to Workload mapping), and
IMACSPIN (for BUILDPDB).
Each IMAC member is self-documenting, and IMACAAAA is the index
of all of the IMACs. You should at least scan IMACAAAA to see
the acronyms MXG uses for the many products MXG supports.
e. If re-installing MXG, copy your existing USERID.SOURCLIB library
members into the MXG.V1212.USERID.SOURCLIB. Then, compare the
members in your USERID.SOURCLIB with the list of members that
were incompatibly changed (above, in this section) in this MXG.
If any of the incompatibly changed members exist in your dataset
MXG.V1212.USERID.SOURCLIB, then you must reinstall your site's
tailoring for that IMAC, starting with the IMAC member from the
MXG 12.12 Source Library.
f. EDIT and submit member JCLTEST6 to verify that your tailoring
did not create any errors.
g. EDIT and submit JCLPDB6 to create a Daily PDB for testing. Or
use the TYPE.... members to process specific data sources, use
the ANAL.... members for report examples, the GRAF.... members
for SAS/GRAPH reports.
You have now installed MXG 12.12 in its own set of libraries. When
parallel testing is complete and are ready to implement MXG 12.12
in production, rename your three current MXG Production Libraries
(MXG.MXG.SOURCLIB, MXG.USERID.SOURCLIB, and MXG.MXG.FORMATS) to
(MXG.BACK.MXG.SOURCLIB, MXG.BACK.USERID.SOURCLIB, MXG.BACK.MXG....)
and rename the MXG.V1212.x.y libraries to their Production names!
Again, detailed installation instructions are in member INSTALL
Always read comments in the CHANGES member for compatibility issues, as
well as for any last minute changes.
Whenever you install changes or test a new version of MXG (or even your
own reports), be extra careful to look on the SAS log for any real error
conditions. Search for all occurrences of "ERROR:", "ERROR :", " NOT "
"UNINITIALIZED", "TRUNCATED", "NEVER BEEN", "NOT FOUND", "CONVERT",
"APPARENT", and "NOT CATLGD", as they usually indicate a serious error.
A PROC PRINT and a PROC MEANS of each new MXG-built SAS dataset can help
you to understand their contents, and should be used to examine any
unusually large, negative, or suspicious values. Print all variables in
the dataset, and read the variable's descriptions in its ADOC member.
IX. Online Documentation of MXG Software.
Beginning with MXG 11.11, the contents of the two MXG Books, (the 1984
MXG Guide, and the 1987 MXG Supplement) are contained in the MXG Source
Library, as are all MXG Technical Newsletters and all MXG Changes, so
all MXG documentation is actually online in the software itself; even
the Installation Instructions are online, in members INSTALL/JCLINSTL!
ACHAPxxx members are the text of the 42 chapters from the two MXG books,
to which the text from newsletters and changes has been added. Some of
these chapters are still rough; while some of the chapters have actually
been completely revised, many of these ACHAPxxx are little more than a
concatenation of the two original chapters, often without the figures
or tables. The revision is work still in progress!
Members ADOCxxxx are what were in Chapter FORTY, and should be the first
place you look for information about MXG variables and/or datasets. The
ADOCxxxx members alphabetically describe each dataset and all variables
that are created by product xxxx, the instructions on how to enable that
product, bibliography of the vendor documentation, sample PROC PRINT and
PROC MEANS of real data, references to MXG reports that use these data,
and the MXG member names that you use to process that product. While
this too is work in progress, the most heavily used data sources,
especially the common SMF records, have been revised and are up to date.
There is an IMACxxxx member for every product supported by MXG. Once
you know the xxxx suffix for a product, you then know the names of all
of the MXG members for that product, because of MXG naming conventions:
IMACxxxx - Defines record IDs, and the _Lyyyzzz and _Kyyyzzz macros
that name the dataset(s) created from product xxxx.
ADOCxxxx - "Chapter FORTY" style dataset and variable documentation of
all datasets created from product xxxx, with sample output.
VMACxxxx - The "real" source code member, often extensively commented.
TYPExxxx - Standalone member to test or process product xxxx records.
ASUMxxxx - Summarization example (only for some products)
TRNDxxxx - Trending example (only for some products)
ANALxxxx - Reporting/analysis example (only for some products)
GRAFxxxx - SAS/GRAPH report example (only for some products)
EXyyyzzz - OUTPUT exit for tailoring of each MXG dataset, not used by
most MXG sites, but powerful if needed. There can be more
than one dataset created from one product. The yyyzzz
suffix of the EXyyyzzz member name is the same as the
suffix of "_L" and "_K" macros defined in the IMACxxxx for
its product. See Using the MXG Exit Facilities in ACHAP33.
Member IMACAAAA is an index of all IMACs, and is the best place to begin
to find what xxxx suffix Merrill chose for which product! You can often
find additional documentation by searching members NEWSLTRS or CHANGESS
for the xxxx suffix.
Member CHANGES identifies this Version and Release of MXG Software, and
describes all changes made in this Release, plus new technical notes.
Member CHANGESS contains each of the CHANGES members from each version
of MXG, so this member contains ALL changes ever made to MXG Software.
Since each MXG change lists the names of the members that were added or
altered, names the new product/version supported by a change, or lists
error messages corrected by a change, this member is designed to be read
online (with SPF BROWSE); you can search for specific product acronyms
(CICS, MVS/ESA, etc.), or the MXG member name or anything else. Many of
the changes are actually mini-tutorials, especially for new products.
Member NEWSLTRS contains the text of all newsletters. You can search
NEWSLTRS for product name or acronym to find all of Dr. Merrill's
published and unpublished technical papers, technical notes announcing
enhancements in new operating systems or subsystems, new datasets and
products, important APARs and PTFs, and other technical information of
importance to MXG users. (Since the Change Log that is printed in each
newsletter is in member CHANGESS, it is not repeated in NEWSLTRS.) MXG
Technical Newsletters are typically published twice a year, with one
printed copy sent to each licensed site's technical addressee.
Member DOCVER lists alphabetically ALL datasets and variables that are
built by this MXG Software Version, abbreviated to a line per variable.
Members DOCVERnn are the "delta-documentation" between MXG versions, and
list only those datasets and variables that were added/deleted/changed
by version "nn", so you can identify when a variable/dataset was added.
Finally, remember that MXG is source code, and you can often find your
answer by BROWSING the source members, especially the VMACxxxx members.
The MXG Variable name is frequently the vendor's field name, or the
vendor's field name is often in a comment adjacent to the variable's
INPUT, so you can cross reference MXG to the vendor's documentation.
The migration from print to online is clearly work in progress, but at
least the two books are now machine readable! When all 42 chapters
are completely revised and updated in the source library, I will decide
which, if any, will also be made available in printed form, but the
primary media for all future MXG documentation will be these members of
the MXG source library, which can be immediately updated in each new
version of MXG as changes occur.
X. Changes Log
==========================Changes Log=================================
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES of the MXG SOURCLIB will always be more accurate than
the printed changes in a Newsletter, because the software tapes are
created after the newsletter is sent to the printer!
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The actual code implementation of some changes in MXG SOURCLIB may be
different that described in the change text (which might have printed
only the critical part of the correction that can be made by paper).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes after MXG 11.11:
Dataset/
Member Change Description
Many 12.034 Support for MVS/ESA 5.1.
Many 12.030 All instances of MSEC8. were removed from MXG.
ACHAP99 12.161 "Chapter 99 CodeSharks" honored.
ANALBLSR 12.001 Batch LSR analysis fails due to errors in ANALDSET.
ANALBLSR 12.080 Batch LSR analysis enhanced.
ANALBLSR 12.185 No BLSR candidates detected when there were some.
ANALCISH 12.035 CICS Shutdown report corrected, design revised.
ANALCISH 12.163 PDB=PDB,TYPE=ALL,SUMMARY=YES produced no reports.
ANALCISH 12.235 Additional DFHSTUP-like CICS Shutdown reports.
ANALCNCR 12.272 Analysis of concurrency - generalized new tool.
ANALDB2C 12.087 Analysis to match CICSTRAN with DB2ACCT.
ANALDB2R 12.078 Using ANALDB2R with PDB= tape was inefficient.
ANALDB2R 12.236 DB2 report PMSQL01 may fail - QWHCTOKN left out.
ANALDB2R 12.250 DB2 Locking Contention Report fails.
ANALDB2R 12.251 DB2 Transit Report fails with NOT SORTED.
ANALDB2R 12.270 PMLOK02 and PMLOK03 now revised.
ANALDB2R 12.305 Support for DB2 Version 3.1 DB2PM-like reports.
ANALDSET 12.001 Syntax error (wrong member migrated).
ANALMTP 12.303 Analysis of Tape Mounts Concurrently Waiting.
ANALPATH 12.239 Revised analysis of TYPE73, TYPE74, TYPE78CF data.
ANALPGNS 12.293 CPU Utilization by Performance Group analysis.
ANALRMFR 12.047 RMF CPU Activity Report CPU time can be zero.
ANALRMFR 12.276 Report selection by storage class, device, LCU.
ANALSMF 12.012 SMF Simulator 3380 tracks count wrong if CISIZE=26624
ASMIMSLG 12.129 ABEND 002 on IMSMPRS with FASTPATH records corrected.
ASMTAPES 12.024 MXG Tape Allocation and Mount Monitor almost healed.
ASMTAPES 12.058 New Tape Allocation and Mount Monitor now works!
ASMTAPES 12.105 MXG Tape Mount and Tape Allocation Monitor Now Works!
ASMTAPES 12.234 MXG Tape Mount and Tape Allocation Monitor fixes.
ANALINIT 12.274 Analysis of initiator concurrent usage.
ASUMPRTR 12.040 KEEPIN=STDUPLEX TMBUPLEX needed to be added
ASUMTALO 12.273 Revised summarization using %ANALCNCR (incompat).
ASUM70PR 12.048 INVALID NUMERIC DATA 'SAT' with modified IMACRMFI.
BUILDPDB 12.013 TYPE77 addition to BUILDPDB/BUILDPD3 causes errors.
BUILDPDB 12.026 Jobs with ABEND='JCL' are not in PDB.JOBS.
BUILDPDB 12.200 New dataset PDB.TYPE72SC for Goal Mode Server data.
BUILDPDB 12.204 TYPETASK added for jobs with only type 6 record.
DAILYDSN 12.004 Variable UMLEVEL must be added to KEEPIN= list.
DB2ACCT 12.033 DB2 3.1 Buffer Statistics are wrong.
DB2STATS 12.033 DB2 3.1 Buffer Statistics are wrong.
DIFFDB2 12.133 DDF variables QLSTxxxx incorrectly deaccumulated.
FMXGSID 12.015 Function ABENDs 0C4 with SAS 6.08 at TS407.
FMXGUCBL 12.015 Function ABENDs 0C4 with SAS 6.08 at TS407.
INSTALL 12.101 Documentation of common MXG installation errors.
REXXDB2 12.306 REXX program to convert DB2 GTF to SMF format.
TESTOTHR 12.153 ABEND 213-04 if VIO used for temporary allocation.
TRNDRMFI 12.046 Variables TSOnSWAP and TSOnTRAN were not normalized.
TYPEACC 12.277 Support for ACC/SRS from Mitchem Technologies.
TYPEACF2 12.063 INVALID data for LIDCDATE/LIDDXPDT/LIDIPDAT/LIDADATE.
TYPEACF2 12.072 INPUT STATEMENT EXCEEDED for subtype 'V' record.
TYPEACF2 12.253 ACF2 INPUT STATEMENT EXCEEDED, DO value wrong
TYPEACHE 12.262 CACHE90 zero observations with RAMAC devices.
TYPEAPAF 12.138 Support for APAF 2.0 (incompatible).
TYPEAPAF 12.197 INPUT STATEMENT EXCEEDED ... with backlevel APAF.
TYPEBETA 12.132 Support for BETA93 1.6.0 user SMF record.
TYPEBGSI 12.268 Support for BGS's BEST/1 I/O Monitor SMF record.
TYPECACH 12.194 3990-6 storage variables units were changed by IBM.
TYPECIAO 12.299 Support for CICSAO user SMF for CICS availability.
TYPECIMS 12.265 IMF variables ABENDSYS/ABENDUSR in CIMSPROG wrong.
TYPECIMS 12.284 Support for IMF 3.1 (for IMS 5.1) - record unchanged.
TYPECMFV 12.269 Support for Boole & Babbage CMF VSAM MRR records.
TYPECTLD 12.011 INPUT STATEMENT EXCEEDED for CONTROL-D SMF record.
TYPEDB2 12.157 Dataset PDB.DB2ACCTB should have zero observations.
TYPEDB2 12.159 DB2STATS variables QB3Taaaa/QB4Taaaa corrected.
TYPEDB2 12.220 Invalid DB2 type 101 workaround (fix is APAR PN63234)
TYPEDCOL 12.051 Variable DCNDMBLK needs to be multiplied by 1024.
TYPEDCOL 12.057 Support for DFSMS 1.2 added several variables.
TYPEDMON 12.120 Support for ASTEX 2.0 added several variables.
TYPEEDGB 12.242 Support for DFSMSrmm Control Backup file
TYPEEDGR 12.242 INPUT STATEMENT EXCEEDED corrected.
TYPEHIPR 12.104 Support for EMPACT's HIPER-CACHE Version 1.1.1.
TYPEHSM 12.206 Support for HSM APAR OW05988, adds CPU time to FSR!
TYPEIAM 12.226 Support for Innovation Processing's IAM SMF record.
TYPEICE 12.031 ICEBERG dataset ICEBRGCH is trashed, misalignment.
TYPEICE 12.160 Support for STK ICEBERG SMF record subtype 5.
TYPEICE 12.228 ICEBERG variables CAENBCUR,DFWENCUR incorrect.
TYPEICE 12.243 Support for ICEBERG's PUT9404 (compatible).
TYPEIDMS 12.212 Support for CA/SQL user SMF record (same as IDMS).
TYPEIMSA 12.009 IMS Log processing incorrect, misspelled NMSGPROC.
TYPEIMSA 12.179 SAP Accounting under IMS times wrong.
TYPEITRF 12.287 Candle's ITRF product errors corrected by Candle.
TYPELMS 12.007 WARNING LMS SMF RECORD TYPE created in error.
TYPEMEMO 12.056 Support for MEMO subtype 6 SMF record.
TYPEMON8 12.291 INVALID OFFSETS IN USER SEGMENTS Landmark CICS.
TYPENDM 12.014 INPUT STATEMENT EXCEEDED for NDM type FP record.
TYPENDML 12.146 Reading NDM VSAM log produced zero observations.
TYPENSPY 12.010 LANSPY dataset NSPYLANS has no/too few observations.
TYPENSPY 12.184 NETSPY Token-Ring TIC_UTIL in NSPYTR 10 times larger.
TYPENSPY 12.196 Variables AOUTSZT and ARSPNET now match reports.
TYPENSPY 12.225 Support for NETSPY 4.5 (partially incompatible).
TYPEODS 12.198 Support for InfoAccess Release 5.1 user SMF record.
TYPEOMCI 12.027 OMEGAMON for CICS dataset OMCISYST wrong.
TYPEOMCI 12.164 Zero observations in OMCIVSAM dataset.
TYPEOMCI 12.167 INVALID DATA FOR EXMXT1 - EXMXT10 when hex zeroes.
TYPEOMCI 12.203 Support for Omegamon for CICS V100 and V300 SMF.
TYPEOMSM 12.123 Support for Omegamon II for SMS V100/V110.
TYPEOMVT 12.186 Support for Omegamon for VTAM V160 (Incompatible).
TYPEOPC 12.002 INVALID MT0TYPE, OPC29 too few obs, split support.
TYPEQAPM 12.292 Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.
TYPEQTRT 12.037 Support for AS/400 Trace File (QTRTSUM).
TYPERDS 12.295 Support for Network Systems DXE Channels RDS SMF.
TYPERMDS 12.264 Support for RMDS Version 2.1 (incompatible)
TYPERMFV 12.259 RMF Monitor III ("ZRB") support for MVS/ESA 4.3.
TYPESARS 12.299 Support for LEGENT's SAR Cross Memory Logoff SMF.
TYPETCP 12.041 Ambiguity between TELNET and FTP resolved.
TYPETCP 12.049 TCP/IP APAR PN34837 added 8 bytes to TELNET SERVER.
TYPETCP 12.257 Support for TCP/IP Version 3.1 (incompatible)
TYPETELE 12.229 Support for CA's TELEVIEW user SMF record.
TYPETLMS 12.136 Support for TLMS Release 5.4.
TYPETMDB 12.162 Support for Landmark's The Monitor for DB2.
TYPETMON 12.151 Support for TMON/CICS Version 1.3 (incompatible).
TYPETMVS 12.191 Support for TMON/MVS Release 1.3 (incompatible).
TYPETPX 12.008 UNRECOGNIZED TPX VERSION message.
TYPETPX 12.263 Support for TPX 4.0 (compatible, new datasets)
TYPETSOM 12.165 Support for LEGENT's TSO/MON 6.1 added (compatibly).
TYPEUNIK 12.112 Support for UniKix Release 4.1.
TYPEVMXA 12.069 UNEXPECTED/INVALID CONTROL RECORD/PROBABLE DATA LOSS.
TYPEVMXA 12.224 VM/ESA 2.2 Scheduler records cause PROBABLE LOSS.
TYPEWSF 12.096 Support for RSD's WSF Release 3.5.1.
TYPEXAM 12.282 Support for Velocity Software XAMAP Version 2.2.
TYPEXPSM 12.267 Support for Xerox Print Service Manager XPSM SMF.
TYPE102 12.032 IFCID=196 (Lock Timeout Details) now populated.
TYPE102 12.088 Additional DB2 Trace IFCIDS new in 3.1 now supported.
TYPE102 12.103 DB2 Trace IFCID=141 corrected.
TYPE102 12.135 IFCID 125 created extraneous observations.
TYPE110 12.023 CICS Statistics in CICLSRR wrong.
TYPE110 12.068 Boole & Babbage subtype 'BB02'x changed to '0B02'x.
TYPE110 12.166 Support for CICS/ESA 4.1.0 is added (compatibly).
TYPE110 12.189 CICS 3.2.1 only. CICDS variables wrong.
TYPE110 12.278 ERROR.TYPE110.SUBTYPE 2, STID=57, CICS 3.3.0.
TYPE115 12.208 Support for MQM 1.1.2 Performance Statistics SMF.
TYPE116 12.209 Support for MQM 1.1.2 Accounting SMF record.
TYPE123 12.215 Support for S/390 Parallel Query Server SPQS SMF 123.
TYPE1415 12.036 APAR OW00484 adds open date to type 14,15 SMF record.
TYPE1415 12.158 APARs OW00484/UW06888/OW08246 corrupt TYPE1415 data.
TYPE1415 12.245 INVALID DATA FOR OPENDTE corrected.
TYPE26J2 12.015 IBM truncates type 26 record, caused STOPOVER.
TYPE28 12.097 NPM Release 2.0 subtypes 214 thru 219 corrected.
TYPE28 12.145 Support for NPM Release 2.2 added NetWare measures.
TYPE28 12.188 MXG 12.04 only. Type 28 INPUT STATEMENT EXCEEDED.
TYPE28 12.201 Support for NPM 2.2 NPMVSaaa datasets corrected.
TYPE30 12.018 TYPE30_V INTBTIME/INTETIME are GMT in MULTIDD='Y'.
TYPE37 12.154 Short LAND segment caused INPUT STATEMENT EXCEEDED.
TYPE39 12.210 Support for Sterling Software's ASM V3.0.0 type 39.
TYPE42 12.019 INVALID ADSM SECTION TRIPLET and/or bad data values.
TYPE42 12.045 DFSMS GG66-3252 pub are now variables in TYPE42DS/SR
TYPE42 12.180 TYPE42 STARTIME/ENDTIME may be on GMT clock.
TYPE50 12.102 Support for VTAM Tuning APAR OW04453 type 50 SMF.
TYPE6 12.016 CA-DISPATCH 5.1 PTF T97E056 corrects bad READTIME.
TYPE6 12.059 Type 6 records from VPS now have SUBSYS='VPS '.
TYPE6 12.199 INVALID ARGUMENT TO FUNCTION INPUT with CA-DISPATCH.
TYPE62 12.122 Support for APAR OW00157 adds SMS classes to TYPE62.
TYPE70 12.288 Support for PR/SM APAR OW078986 adds "MVS Wait".
TYPE70 12.289 MDF now populates TYPE70PR/ASUM70PR w/valid CPU time
TYPE70 12.290 Same LPAR number for two LPARs trashes CPU busy.
TYPE70s 12.006 SYNCTIME wrong in RMF 71,73,74,75,77,78 and 79.
TYPE72DL 12.252 New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode.
TYPE80A 12.280 RACF Command events decoded in TYPE80A for RACFRW.
TYPE89 12.028 Support for Measured Usage License Charges type 89.
TYPE91 12.038 BatchPipes/MVS APAR PN45846 adds new fields.
TYPE91 12.254 BatchPipes/MVS INTBTIME/INTETIME values incorrect.
TYPE99 12.117 Support for ESA 5.1 Workload Manager Trace SMF 99.
TYPE99 12.285 Support for Type 99 Subtype 1 added.
UCICSCNT 12.021 Utility report output counts were unclear.
UTILCICS 12.182 UTILCICS fails with syntax error, mislocated comment.
UTILCICS 12.202 CICS Utility identifies if type 110s are Omegamon's.
UTILCVRT 12.022 Non-existent conversion utility now exists.
VAXPDS 12.301 Support for VAX Accounting and Performance Data.
VMXGSUM 12.084 New features added transparently to VMXGSUM.
VMXGSUM 12.233 New VMXGSUM enhancements in XMXGSUM.
VMXGSUM 12.271 More VMXGSUM enhancements in XMXGSUM.
VMXGVTOF 12.249 DEVCYL value different for RAMAC than native devices.
WEEKBLDT 12.195 DATASET TAPEMNTS NOT SORTED.
XMXGSUM 12.304 XMXGSUM replacement for VMXGSUM ready for use.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 12
Change 12.328 Syntax errors may occur with ANALDB2R (depending on which
ANALDB2R reports are requested).
Mar 19, 1995 -Insert "INCODE=" between lines 045520 and 045530:
045520 QWHSIID QWHCATYP QWHSSTCK,
045525 INCODE=
045530 %DB2RSELA;
This error caused PMACC01 report to fail
-There are two occurrences of this pair of lines:
+1 "&SORT3 - " &SORT3 $CHAR12.;
%END;
%END;
In both pairs of lines, remove the semicolon after the
$CHAR12, and insert a new line with just a semicolon
between the two %END statements, so they now read:
+1 "&SORT3 - " &SORT3 $CHAR12.
%END;
;
%END;
This error occurred with PMACC02 if less that three
SUMBY= variables were specified.
Change 12.327 -ANALTALO failed with VARIABLE NOT FOUND because it had
ANALTALO not been updated for the changes in ASUMTALO variables.
TRNDTALO Now, ANALTALO works with ASUMTALO/TRNDTALO datasets.
Mar 19, 1995 -TRNDTALO failed because a comma was missing after the
calculation of DURATM.
Thanks to Glenn Harper, Memorial Hospital Systems, USA.
Change 12.327A ANALCNCR failed when invoked by ANALTAPE or ANALMTP, but
ANALCNCR the logic error was only in ANALCNCR. Many lines were
Mar 19, 1995 changed, but the ANALMTP error can be eliminated by just
adding OUTSUMRY=SUMMARY, to the %ANALCNCR invocation in
ANALMTP.
Thanks to Tom Elbert, John Alden Life Insurance, USA.
Thanks to Steve Harris, Tennessee Valley Authority, USA.
Change 12.326 Support for Memorex/Telex LMS Version 3.1 (INCOMPATIBLE,
FORMATS because a two-byte field was expanded in place to four
VMACLMS bytes in many records). Two new variables are added to
Mar 19, 1995 LMSAINT dataset, and twenty-four new variables are added
to the LMSINIT dataset.
New values for existing MGLMSxx formats were added, but
there were no new formats created.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 12.325 Cross-System DASD Analysis Report columns ran together
ANALPATH when I changed LCU from $HEX2 to $HEX4 in MXG 12.12, so
Mar 19, 1995 Dan spread the columns in this report revision.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Revised: See Change 13.077.
Change 12.324 In IMACICSA, variables STCTIME/STCTIMTR are now formatted
IMACICSA TIME12.2 instead of DATETIME21.2, STCTIMTR is now INPUT
VMAC110 as PIB4.3 instead of PDTIME4., a "LENGTH STCTASK $2;" was
Mar 17, 1995 added, and after the INPUT of STCDB5S &PIB.4., insert
"@; INPUT" (so that either the CPIC statistics or the
Appendage stats are read first, but then STCRUT and other
fields are read for either CPIC or Appendage records).
-In VMAC110, JCSPTIME's PDTIME4. input was changed to
HH &PK.1. MM &PK.1. SS ?? &PD2.1 and then
IF SS GT 0 THEN JCSPTIME=HMS(HH,MM,SS);
Thanks to Jens Schlatter, EDP Consulting Schlatter, GERMANY.
Change 12.323 -The argument 2*_I_ in the SUBSTR function was invalid
VMAC80A when _I_=16; the argument should be 2*_I_-1.
Mar 17, 1995 -STOPOVER occurs if RACFDLN is GT 27 in WHEN (12) logic.
Inside the WHEN (12) logic, inside IF RACFDLN GE 27 ...
insert SKIP=RACFDLN-27;IF SKIP GT 0 THEN INPUT +SKIP @;
to prevent STOPOVER abend when there are more than three
IGNORED IDnames. MXG now keeps first six names.
-Segments with RACFTYPE=32,42, or 44 are now protected so
you won't get "SKIPPED SEGMENT" messages for those data
segments.
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.322 INPUT with QWSBNM after IF NRQWSB GT 9 was replaced with
VMACDB2 INPUT +SKIP @; because if there were ten destinations,
Mar 17, 1995 the tenth destination name replaced the first dest name.
This was not likely to have been noticed, but is fixed.
Also, the reference to Change 12.179 inside VMACDB2
should have referenced Change 12.279.
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.321 CICS/ESA Statistics Dataset CICDS from CICS/ESA 3.3.0 or
VMAC110 4.1.0 can have values in DS3TWT,DS3TDT,DS3TCT,DS3ACT,
Mar 17, 1995 DS3SWT,DS3SCT that are 4096 times too large. Ten lines
that should have been added by Change 12.030 were lost.
This error was overlooked because the Concurrent TCB time
in my test statistics records was essentially zero. A
separate coding error also caused DSGTDT to be wrong; the
statement DSGTDT=DSGTWT/4096 obviously should have had
DSGTDT on the right! Since CICDS is used to create the 6
PDB.CICxxxRV datasets, those datasets will also be wrong
if the DS3 variables are non-zero. Note that only the
CICS Statistics data was affected - the transaction times
in CICSTRAN were not affected by this error.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Change 12.320 Many Landmark CICS Version 1.3 variables were not INPUT
TYPETMON because I used an early DSECT that showed many of these
Mar 17, 1995 fields as reserved. When Svend raised the question, I
found I had a more recent DSECT, and now there are 15 new
variables in dataset MONITASK, and 79 new variables in
dataset MONISYST. This revision has been validated with
sample data for reasonableness, but please validate with
reasonableness checks of your own data records!
Thanks to Svend Henningsen, SMT Data A/S, DENMARK.
Change 12.319 Variables F20LHST F20RHST FTPCRHST FTPCLHST were added to
VMACILKA the LENGTH DEFAULT=4 statement with length 5, because
Mar 17, 1995 4-byte numeric addresses are truncated when they are
stored in only 4 bytes.
Thanks to ???, Nordbanken, USA.
Change 12.318 ANALDB2C error: NO MATCHING IF THEN ELSE CLAUSE because
ANALDB2C the statement END: should have been END; (i.e., change
Mar 17, 1995 the colon to a semi-colon.
Thanks to David Callahan, Caterpiller, USA
Change 12.317 A local external writer type 6 with invalid SMF6LN1 value
VMAC6 caused INPUT STATEMENT EXCEEDED RECORD LENGTH error. The
Mar 17, 1995 line IF SUBSYS='JES2' AND SMF6LN1 GT 30 THEN DO; is now
.... SMF6LN1 GT 30 AND SECTIND='1.......'B THEN DO;
Thanks to Joe Schwartz, CIGNA, USA.
Change 12.316 The DCOLLECT output file LRECL has been increased to 644
JCLDAYDS but this JCL example contained LRECL=264, which caused an
Mar 17, 1995 ABEND. Remove the DCB attributes from the JCL, so the
DCB attributes will be picked up from the data.
Thanks to Glenn Harper, Memorial HealthCare System, USA.
Change 12.315 Landmark CICS records in version 8 format (TYPEMON8)
IMACMONI has these errors:
TESTOTHR -Syntax error (in MXG 12.12 only) - NO MATCHING DO/SELECT.
TYPEMON8 Change the line in member TYPEMON8
Mar 17, 1995 that now reads: ... AND MRONUM GT THEN DO;
to read: ... AND MRONUM GT 0 THEN DO;
This got past my Q/A test because member TYPEMON8
was not tested; when I meant to add member TYPETMON
(support for version 1.3) to my test member
TESTOTHR, I accidentally replaced TYPEMON8. Now,
both TYPEMON8 and TYPETMON are tested!
-Using TYPEMON8 to read TMON 1.3 records converted to 8.1
format caused USER ABEND 1099, and "IT APPEARS YOU ARE
TRYING" message, due to the new TMMDREC='TD' DSA Interval
record, which did not exist in version 8.1!
Change the line in member TYPEMON8 that now reads:
IF TMMDREC='DD' OR TMMDREC='HH' THEN DELETE;
to read:
IF TMMDREC='DD' OR TMMDREC='HH' OR TMMDREC='TD'
THEN DELETE;
-Now that I know that the TD record exists in converted
version 8 records created from TMON 1.3 records, I copied
creation of dataset MONIDSA from TYPETMON into TYPEMON8,
so that you will get the new DSA data from the converted
records, but it would be much wiser if you had used the
TYPETMON support to read the native TMON 1.3 records and
thus avoid the unnecessary conversion step. Note that
member IMACMONI was also changed (the _LMONDSA/_KMONDSA
macro definitions were added), so if you have a tailored
member IMACMONI in your USERID.SOURCLIB, you will need to
retrofit your tailoring with the new IMACMONI member.
-Also, the DO group beginning with
IF LENMONI='1... ..'B THEN DO;
was relocated to follow
IF TMMDREC='DD' ... 'HH' ... 'TD' THEN DELETE;
because one XA site found the LENMONI bit on in an 'HH'
record (causing USER ABEND 1099), even though the site
had the EXITMON6 decompression exit installed. I'm still
investigating, but relocating the DELETE to be prior to
the LENMONI test eliminated the ABEND.
Thanks to Carl Sommer, SAS Institute Cary, USA.
Thanks to Jim Swartz, Dale Electronics, USA.
Thanks to Svend Henningsen, SMT Data A/S, USA.
===Changes thru 12.314 were included in MXG 12.12 dated Mar 1, 1995===
(but were were not printed in MXG Newsletter TWENTY-SEVEN)
Change 12.314 IMACEXCL (for CICS Exclude/Include logic) is updated with
IMACEXCL new _CICXCU4 for CICS/ESA 4.1.0 records; the old _CICXCUS
Feb 24, 1995 macro for Version 3 won't work with the restructured data
records in Version 4 - you get no error, but bad values,
most notably for TASCPUTM.
Thanks to Simon Wu, Southern California Edison, USA.
Change 12.313 TCP/IP error INVALID DATA FOR TELLOGFT encountered at one
VMACTCP site; the 8-byte field added by APAR PN34837 did not have
Feb 23, 1995 a valid date-time-stamp. To eliminate the message, I put
double questionmarks between TELLOGFT and SMFSTAMP8.
Thanks to Barbara Rask, University of North Dakota, USA.
Change 12.312 INPUT STATEMENT EXCEEDED for LANSPY type D record because
VMACNSPY the path segments were not correctly skipped. Inside the
Feb 23, 1995 IF LDLANMAX GT 0 THEN DO; group, after the @;, insert
OFFNSPY=OFFNSPY+LDLANMAX*28;
to move the pointer over the path segments.
Thanks to Mr. Dechamps, R&V Versicherung, GERMANY.
Change 12.311 Early MXG 12.12 only (dated 20Feb95). IEBUPDTE step had
VAXPDS return code of 4, because the "./" in VAXPDS should have
Feb 23, 1995 been changed to "xy".
Thanks to Glenn Harper, Memorial Hospital, USA.
Change 12.310 RMF CPU reporting is now consistent with new APAR OW07986
ANALRMFR (MVS/ESA 5.1) or OW05435 (MVS/ESA 4.3). "CPU ACTIVITY"
Feb 22, 1995 REPORT column showing the CPU busy time percentage (
column header "BUSY TIME PERCENTAGE") has been replaced
by a column showing now the LPAR CPU utilization (new
column header "LPAR BUSY TIME PERC"). In case of an LPAR
system this column contains the same values as in
previous versions. In case of a basic mode system, dashes
are shown here. The previous column showing the wait time
( column header "WAIT TIME PERCENTAGE") has been replaced
by a column showing the MVS view of the CPU utilization (
column header "MVS BUSY TIME PERC"). The wait time is no
longer shown on this report.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 12.309 Xerox Print Services Manager SMF record has been further
FORMATS enhanced and validated. The first 3 downtime segments
VMACXPSM are kept (if you find you need more, let me know), and
Feb 22, 1995 the font list and forms list are now decoded.
Change 12.308 Support for RMDS 2.1 has now been validated with read SMF
VMACRMDS data; some datetimes were missing because all of the YYYY
Feb 22, 1995 inputs should have been &PIB.4. instead of &PIB.2.; the
input of RMDSALC and RMDSPAGE for RMDSORG='1' should have
been &PIB.4. instead of &PD.4. (I guessed wrong!); and
some datetime calculations in the old 1.3,1.4 code were
moved to eliminate missing value messages on the log.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 12.307 Some dates/times were wrong because Change 10.176 was
VMACFTP only partially implemented; PIB4. should have been PIB4.2
Feb 20, 1995 and the DATEJUL() was missing in DHMS functions.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
===Changes thru 12.306 were printed in MXG Newsletter TWENTY-SEVEN=====
Change 12.306 Support for DB2 Trace Records sent to GTF is provided by
REXXDB2 this user contribution, in REXX, which will read the GTF
VMACSMF records (which are uniquely segmented) and reconstruct a
Feb 18, 1995 valid, un-segmented SMF format type 102 record that can
be processed by conventional MXG code. (DB2 type 102
records that happen to fit in one 255-byte segment can
already be processed, but most of the interesting data is
in longer records, and I had contracted with a slick ASM
programmer to write me an Assembly routine to do exactly
what this slick REXX program does!) I have modified the
GTF macro in VMACSMF to at least now tell you that a
spanned record was deleted - Clyde was justifiably
frustrated when he first tried to use vanilla MXG code
against GTF data, and MXG did not tell him that those
spanned records could not be handled and were deleted!
Thanks to Clyde Thompson, Australian Taxation Office, AUSTRALIA
Change 12.305 -ANALDB2R provides DB2 Version 3.1 reports for PMACC02
ANALDB2R (Accounting Detail Report), PMSTA02 (Statistics Summary
ASUMDB2A Report), and PMSTA01 (Statistic Detail Report), the last
TRNDDB2A now uses the DB2STATS. PMACC02 does not yet include
TRNDDB2B detail stats on each of the new buffer pools; that will
TRNDDB2S be available in the next MXG release, as will package
TRNDDB2X report support. These new DB2 reports take many more
VMACDB2 pages per group, so be cautious and select carefully!
Feb 20, 1995 -ASUMDB2A, TRNDDB2A, and TRNDDB2B were changed to now keep
Oct 19, 1995 new DB2 3.1 variables needed for ANALDB2R reports.
-TRNDDB2S now uses PDB.DB2STATS instead of the (archaic
DB2STAT0, DB2STAT1, and DB2STAT2 datasets, (ANALDB2R also
now uses PDB.DB2STATS for statistics reports). Instead
of creating the old TRNDDB20/TRNDDB21 datasets, TRNDDB2S
now summarizes into TREND.TRNDDB2S. You can convert your
old TRNDDB20/TRNDDB21 datasets into the TRNDDB2S with a
one-time execution of the UCVRTDB2 program.
-New member TRNDDB2X trends the eXtra statistics for each
buffer pool from PDB.DB2STATB data. Revised 10/19/1995.
-VMACDB2 was changed to add variables to DB2ACCTB that are
needed by ANALDB2R (and should have been kept already!).
-The DB2STAT0, DB2STAT1, DB2STAT2, TRNDDB20, and TRNDDB21
datasets should be replaced in your reporting with either
PDB.DB2STATS or TREND.TRDNDB2S, as only these latter two
datasets will continue to be enhanced. Fortunately, the
statistics datasets are physically small, so keeping the
redundant data in your PDB is better than removing it now
(and possibly causing an avoidable ABEND)!
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.304 XMXGSUM, a much faster and leaner replacement for VMXGSUM
XMXGSUM has all errors fixed (the last fix UPCASED all variables)
Feb 18, 1995 and has been heavily tested. However, because VMXGSUM is
so pervasive in MXG ASUM/TRND/ANAL members, I decided to
leave VMXGSUM intact and deliver XMXGSUM as a separate
member so you would not be accidentally burned. If you
have lots of CICS/DB2 data being summarized by MXG, I
strongly urge you to test XMXGSUM in place of VMXGSUM,
because it runs much faster and uses much less CPU and
DASD when there are lots of data and variables read and
only a few kept. (You can test simply by copying XMXGSUM
into your USERID.SOURCLIB, renaming it therein to VMXGSUM
and running your test programs, because internally it is
VMXGSUM!). However, do not use OPTIONS OBS=nnn with the
new XMXGSUM without reading this detail techie note:
XMXGSUM figures out what variables are really needed
and what variables exist to create a KEEP= list. We
use a PROC CONTENTS of all of the datasets in the
INDATA= parameter to create the list of unique
variable names. If OPTIONS OBS=nnn is in effect, and
if nnn is less than the total number of variables,
unpredictable failures will occur (or no failure with
incorrect values!). created. To prevent these
problems, never set the OBS= to be less than the sum
of the number of variables in the combined INDATA=
datasets or (a better choice) set OBS back to MAX
after selecting the data you want to summarize. A
dataset with 0 obs and a non-existent dataset look the
same (because there is no SAS facility to determine if
a dataset exists). If the dataset does not exist,
then PROC MEANS abends because its expected variables
are not found. Now, an observation is forced so the
number of variables can be used to tell if you made an
mistake (i.e., you referenced a non-existent dataset
for input) or if there just happened to be no
observations (when we go ahead and create the expected
zero-obs output dataset).
Thanks to Chuck Hopf, Merrill Consultants, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.303 Analysis of tape mounts pending using the MXG Tape Mount
ANALMTP monitor TYPETMNT data and the new %ANALCNCR concurrency
Feb 18, 1995 analysis tool gives you average and maximum number of
tape mounts outstanding across the day, with built-in
graphs! A fine example of the power of %ANANCNCR!
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.302 ANALCNCR enhanced to permit multiple MAX= variables and
ANALCNCR multiple COUNT= variables. If no MAX= is used and there
Feb 18, 1995 are COUNT= variables, then the MAX variables will be
MAX1-MAXn where n is the number of COUNT= variables used.
MAX= is positional, and the variables listed will be the
MAX of the same positioned variable in the COUNT= list.
If you don't use MAX= and ask for a summary, then the
MAXCNCR variable will contain the MAX value for the
things you are counting.
Change 12.301 Support for VAX Accounting Data and even some Performance
VAXPDS reports are provided in this user contribution from the
Feb 18, 1995 Australian creators of "The Bill". Member VAXPDS is
really a 12-member PDS in IEBUPDTE format (the first few
lines give you the JCL example to create MXG.VAX.SOURCLIB
PDS from member VAXPDS. I have not tested this code, but
it is self explanatory (read comments in each member to
understand what it does) and has been used by several VAX
sites in Australia, so I anticipate no surprises!
Thanks to Brian Jennings, Pacific Management Systems, AUSTRALIA.
Change 12.300 SYNCSORT has permitted up to 32 SORTWORK DDs, but MXG did
VMACSYNC not decode statistics for 13th-32nd. I have added code
Feb 17, 1995 to INPUT the 13th-32nd sets of variables, but I did not
add the new variables to the KEEP= list in VMACSYNC, as
I really don't think anyone uses that many DDs! If you
really need the extra variables, they can be added using
the _KTYSYNC macro in IMACSYNC (see Change 10.175 for the
general instructions for using _K macros to add/drop
variables to MXG datasets). This was only an MXG change;
while there is a new release 3.6 of SYNCSORT, it made no
changes to their SMF record.
Change 12.299 Support for CICSAO user SMF record written by CICSAD,
EXTYCIAO added by APAR PN06426, provides CICS availability info,
FORMATS in new dataset TYPECIAO, reporting for each CICS region
IMACCIAO under CICSAO control when CICSAO started or shutdown a
TYPECIAO particular region, and when that CICS actually completed
VMACCIAO that function. If the region halts (becomes unusable) or
Feb 15, 1995 is unhalted, that event too is recorded.
Change 12.298 The JCL example for the MXGTMNT PROC did not contain an
ASMTAPES //SNAPOUT DD SYSOUT=C
Feb 15, 1995 causing the monitor to fail at startup. Now it does.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 12.297 SAS errors "OBJECT FILE OUT OF SPACE" is an indication
CONFIG that you do not have enough virtual storage, either the
CONFIG07 MEMSIZE in your CONFIG member is too small or the REGION
CONFIG08 parameter on your JOB card is too small. MXG 12.12 does
Feb 15, 1995 require slightly more virtual storage (because of the
additional datasets/variables for MVS/ESA 5.1), and if
you were just below the limit prior to MXG 12.12, you may
fail just due to MXG 12.12. I have raised the default in
CONFIG to 48M to hopefully minimize this occurrence.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 12.296 DEBUG messages were printed on the SAS log for some MIM
VMACMIM records; the PUT statement writing these messages should
Feb 15, 1995 have been deleted.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 12.295 Support for RDS, Remote Device Support, for Network
EXTYRDS1 Systems Corp. DXE Channel Extenders user SMF record
EXTYRDS2 creates seven datasets:
EXTYRDS3 TYPERDS1 - Device Class Descriptions
EXTYRDS4 TYPERDS2 - Path Descriptions
EXTYRDS5 TYPERDS3 - Device Throughput
EXTYRDS6 TYPERDS4 - Network Throughput
EXTYRDS7 TYPERDS5 - RDEVADPT Errors
IMACRDS TYPERDS6 - HOSTADPT Errors
TYPERDS TYPERDS7 - LINK Network Errors
VMACRDS Activity counts, bytes transferred, and other statistics
Feb 15, 1995 as well as errors are provided in these datasets.
Thanks to Christopher B. Calvin, Ahold Information Services, USA
Thanks to Benny Maynard, Ahold Information Services, USA
Change 12.294 Support for SAR Cross Memory/VTAM Region Session Logoff
EXTYSARS user SMF record contains statistics on storage used above
IMACSARS and below, CPU time, Getmains, etc., in new dataset
TYPESARS SARSESSN. Note that this is a separate SMF record that
VMACSARS can be created by SAR; the other record created by the
Feb 14, 1995 SARSRQU3 exit is supported by member TYPESAR et al.
Thanks to Miguel Trujillo, Salomon, Inc, USA
Thanks to Dov Brosh, Salomon, Inc, USA.
Change 12.293 CPU Utilization for each Performance Group is provided in
ANALPGNS this new, simple analysis algorithm which merges RMFINTRV
Feb 12, 1995 with TYPE72. Two measures of PerfGrp utilization are:
PGPCTCAP = Percentage of Capacity used by PERFGRP.
PGPCTUSE = Percentage of Active Time used by PERFGRP.
The denominator for Percent of Capacity is Duration times
Number of CPUs Online, while the denominator for Percent
of Active Time is the Capacity Duration times PCTCPUBY.
Which number you use depends on whether you want to know
how much of the installed capacity was used by a PERFGRP,
or how much of what was used by everyone was used by a
PERFGRP, so both numbers are provided. This sample will
likely be expanded into a full-blown %ANALPGNS member
with bells and whistles and summarization, but the basic
algorithm is provided in these initial 48 lines.
I have described how to do this scores of times; with
hindsight, this member should have existed years ago!
Thanks to Virginia Tsai, SAS Institute, TAIWAN.
Change 12.292 Support for OS/400 Version 3.1.0 AS/400 Performance Data
EXQAPIO1 records: completely INCOMPATIBLE!! Instead of appending
EXQAPIO2 new fields at the end of the existing records, new fields
EXQAPIO3 were inserted in almost every record, and some record's
EXQAPIO4 fields were reordered even when no new fields were added!
IMACQAPM Previously, MXG logic used LENGTH to identify the OS400
TYPEQAPM Version and hence data format, but QAPMDISK record was
VMACQAPM reordered with no change in LENGTH, so MXG now uses the
Feb 12, 1995 variable ASLEVEL (input from QAPMCONF and retained, which
is why _TQAPCON must always be executed first) to detect
data format.
While almost every other record was also changed, that
change was to insert two 2-byte packed decimal fields for
Bus Number and Bus Address. But those IOPB/IOPA variables
were already created in MXG from the existing 1-byte "IP
Address" (bits 0-2 = IOPB, bits 3-7 = IOPA, easily INPUT
with SAS's BITS informat)! Apparently, it was so hard
for other OS/400 programmers to decode these simple bit
values (dare I say "objects"?), that IBM Rochester had to
convert the bits to numbers and create two new fields for
them (which, of course, were then inserted, instead of
being appended to the end for compatibility)!.
And IBM's pub SC41-3306-00, pp A-14 to A-30, for the
QAPMSYS record, has completely wrong "Buffer Position"
values starting with location 507 of this 3090-byte
record - that was real fun to sort out!
All this from winners of the Malcolm Baldridge award!
In spite of the OS/400 developers inability to provide
compatible records across version changes, there is a
wealth of new data added to the QAPMSYS and QAPMJOBS
datasets, and the new QAPMIOPD record creates four new
datasets from SNADS:
QAPMIOP1 - File Server I/O Processor Pipe Task
QAPMIOP2 - OS/2
QAPMIOP3 - HPFS386
QAPMIOP4 - Lan Server
IBM now says QAPMIOP1 is Internal Use Only, and its
counters were incorrectly documented, and that even
if they were, you can't do anything about them, and
its description will be removed. However, since my
code was already done before I knew that fact, I
decided to leave the code in place with this caveat!
MXG Install note: YOU MUST ADD //QAPMIOPD DD DUMMY to
your existing QAPM job's JCL when you install MXG 12.12,
or that existing job will fail with a JCL error. Then,
when you install V3.1, you can change the DUMMY to the
real dataset, and MXG will automatically create obs in
the new QAPMIOPn datasets.
Yes, this is an incompatibility between MXG 11.11 and
MXG 12.12, that I could have avoided by commenting out
the invocation of _TQAPIOP in member TYPEQAPM, but then
you would have had to modify the source code to create
observations in the future, so I chose this JCL change
as the lesser of the two choices.
As of Newsletter 27 press time, the new 3.1 code had not
been tested with 3.1 data; only 2.2 data was available.
Change 12.291 ERROR. INVALID OFFSETS IN USER SEGMENTS with Landmark
TYPEMON8 CICS/ESA Version 1.1 records converted back to Version 8
TYPETMON format may result because MXG's test is true when the
Feb 11, 1995 offset in the record is greater than record length even
when there is no segment - the number of segments must be
added to the test. The three lines in TYPEMON8 now read:
IF FILECOL+FATNUM*TAFATLEN GT LENGTH+1 AND FATNUM GT 0 ..
IF UATCOL+UTNUM*TAUATLEN GT LENGTH+1 AND UTNUM GT 0 ..
IF MROCOL+MRONUM*TAMROLEN GT LENGTH+1 AND MRONUM GT 0 ..
The one line in TYPETMON now reads:
IF FILECOL+FATNUM*TAFATLEN GT LENGTH+1 AND FATNUM GT 0 ..
Thanks to Bill Padilla, Farmers Group, USA.
Change 12.290 Amdahl MDF will produce negative/trashed CPU values if
VMAC7072 you use the same LPAR number for different LPARs. The
Feb 10, 1995 error, introduced in microcode ML 6, has been fixed in
Amdahl's ML 8.09, and your SE can show you how to define
your IOCDS with a unique Partition Number, but you must
correct the error, or your CPU busy data is invalid.
Thanks to Dean Brown, Pacific Bell, USA.
Change 12.289 Amdahl MDF has been providing real MVS CPU utilization of
VMAC7072 "this" MVS in TYPE70 dataset since their microcode ML 6;
Feb 10, 1995 Change 12.288 added the PCTMVSBY/MVSWAITM fields which
contain the MDF "CPU using" time for "this" Domain.
A new MDF option, called "Wait Complete=No Reporting",
(available for ML 6, included as a feature in ML 8.09)
can store the Real CPU Active Time (instead of Dispatch
Time) into the TYPE70PR LPAR data segments in type 70.
You can tell that the option is enabled and the CPU times
are real if LCPUWAIT='N' (not enabled, LCPUWAIT='Y'), as
the 'N' record looks like a non-wait-completion PR/SM.
(Without the option, MDF LPAR measures are "dispatch"
time, not "CPU using" time, so you had to use Amdahl's
APAF to get the real CPU busy time of other LPARS. This
new option lets you now use TYPE70PR/ASUM70PR for real
CPU measures, using APAF data for deeper analysis.)
Jul 9, 1997: See Change 15.023 for update on option.
Change 12.288 PR/SM APAR OW07986 puts "MVS Wait" time back in type 70
VMAC7072 records, so the new variables PCTMVSBY MVSWAITM and
Feb 10, 1995 MVSWAIT0-MVSWAITF report the MVS view of CPU busy/wait
contrasting with the existing variables PCTCPUBY (LPAR
dispatch perspective) and PCTCPUEF (LPAR effective
perspective). Looking at one sites numbers, it appears
that the sum of the "MVS Wait" plus the sum of "CPU Eff"
plus the "Physical LPAR" is very close to total duration,
which implies that PCTCPUBY-PCTMVSBY is the true LPAR or
MDF overhead. The text of the APAR includes a complete
discussion of the differences between "MVS CPU Busy" in
PCTMVSBY and "LPAR CPU Dispatch" in PCTCPUBY.
Thanks to Boris Ginis, BGS Systems, USA.
Change 12.287 ITRF note. Candle has corrected the problems that
VMACITRF were reported in Newsletter 26, and the blank field for
Feb 10, 1995 RNJOB, etc., are now populated (except in the TYPE= '13'x
thru '16'x Database records, which being cut from the IMS
Control Region, have no associated Job information).
A small sample of their log records post-APAR have been
validated, and I have no reason to believe there are any
further problems, but as the Newsletter went to press,
the APARs were too new to have had stress testing, so I
would appreciate feedback from active ITRF users.
There was no change to the VMACITRF code; this change is
solely for documentation.
Change 12.286 Zero observations in dataset CISIZE can occur, because
ANALSMF the logic detecting that data was held was unrobust. The
Feb 10, 1995 test IF INCI4K=0 THEN DELETE; must be expanded to
IF SUM(INCI4K,INCI8K,INCI16K,INCI22K,INCI26K)=0 THEN ....
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.285 Support for Type 99 Subtype 1 has been added, creating
EXTY99TT two new datasets:
EXTY99U1 TYPE99TT - Trace Table Entries
VMAC99 TYPE99_1 - System State Information
Feb 9, 1995 Don found this data so useful in his CPExpert product,
that he shared his coding for this record!
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 12.284 Support for IMF 3.1 (for IMS 5.1) is already in MXG 12.12
VMACCIMS because Boole expects there will be no significant change
Feb 9, 1995 in the format of the IMF records in their new version.
Some old MVS fields may be zero when MVS 5.1 is in Goal
Mode, but the fields will still be there, so the MXG code
is expected to be compatible.
Change 12.283 MXG 12.07 Only. TCP/IP records cause INVALID DATA FOR
VMACTCP VARIABLE NEW because the word NEW was accidentally left
Feb 8, 1995 in columns 1-3 of line 020100. Remove "NEW". (NEW was
left as a marker that I needed to add the new variable,
FTPSTRCT to the LABEL and KEEP= lists, so not only did I
fail to remove the NEW, I also failed to add FTPSTRCT
until this change. The syntax check passed because NEW
was just another variable to be INPUT; only when real
data records were read did the error surface.)
Thanks to Richard Clary, Entergy Services, USA.
Change 12.282 Support for Velocity Software's XAMAP Version 2.2 added
VMACXAM many new variables for VM/ESA 2.2, and a few variables
Feb 8, 1995 were renamed. This code has not been tested with actual
data. The new fields were added at the end of the record
so their new version appears to be compatibly made.
Change 12.281 ANALRACF's problem with PROC TRANSPOSE error will not be
ANALRACF corrected, because the enhancements in Change 12.280
Feb 7, 1995 eliminate the need for ANALRACF. The real error was in
my original design of TYPE80, which creates one
observation for each segment in each type 80 record, and
ANALRACF was one user's solution to rebuild each logical
event from the pieces; TYPE80A creates an observation for
each event, solving the need (I believe) for ANALRACF.
Change 12.280 RACF TYPE80A has always decoded RACF events, but this
EXTY8009 enhancement adds new datasets that decode RACF Commands
EXTY8010 that have been requested by Security Administrators (so
EXTY8011 they can generate RACFRW reports from MXG datasets!).
EXTY8013 Seven new datasets are added by this change:
EXTY8014 Dataset Command
EXTY8019 TYPE8009 - ADDGROUP command
EXTY8023 TYPE8010 - ADDUSER command
IMAC80A TYPE8011 - ALTDSD command
VMAC80A TYPE8013 - ALTUSER command
Feb 7, 1995 TYPE8014 - CONNECT command
TYPE8019 - PERMIT command
TYPE8023 - REMOVE command
TYPE80CM - RACF commands not decoded above.
Most of the fields in these command records are decoded,
but some are not; there are 2- and 4-byte bit maps (eg.,
for Keywords specified on the command, where one bit
is used per keyword), and rather than creating 32 or 64
more variables, I chose to store the field as a character
variable with $HEX format to save DASD space. Of course,
this means you must learn which bit does what, and thus
you must become familiar with IBM Table 3, "Data Type 6
Command-Related Data" in the RACF Macros and Interfaces
manual, SC28-1345, in SMF Records chapter, until I have
time to document these bit-maps in member ADOC80A.
TYPE80A should replace TYPE80/ANALRACF, because TYPE80A
creates an observation for each event, whereas TYPE80
creates an observation for each segment in each event,
and ANALRACF was created to reconstruct the events from
the segments! This code has been tested with RACF 1.9.2
data.
Thanks to Richard Banks, Texas Comptroller of Public Accounts, USA.
Change 12.279 DB2STATS can be used to audit if DB2 SMF records were
DIFFDB2 lost. DB2 counts log records written and not-written in
VMACDB2 two ways: by destination (GTF, SMF, etc. in MXG variables
Feb 19, 1995 QW1Bxxxx-QW9Bxxxx) and by writer (accounting, audit, etc,
in MXG variables QWS1xxxx-QWS8xxxx). With a simple:
PROC PRINT DATA=PDB.DB2STATS;
VARIABLES QW1B: QW2B: QW3B: QW4B: QW5B: QW6B:
QW7B: QW8B: QW9B: ;
you can scan the QWnBNM (Destination Name) for SMF, and
then examine QWnBSRNW for that "n" to determine if any
SMF records were lost. If there were records lost, you
can then use a simple:
PROC PRINT DATA=PDB.DB2STATS;
VARIABLES QWS1: QWS2: QWS3: QWS4: QWS5: QWS6:
QWS7: QWS8: ;
to examine which IFCIDs (QWSnIID) had lost records, and
see whether accounting, audit, stat or trace records were
not written. See MVS Technical Notes in Newsletter 27
for a discussion of why DB2 might lose SMF records.
Impress your auditors with your knowledge of the exposure
and that it is detectable!
-Variable QWACFLGS is now INPUT $CHAR2. (it was $CHAR1.)
and this also corrects the value of QWACPKGN.
Thanks to Chuck Hopf, MBNA, USA.
Change 12.278 ERROR.TYPE110.SUBTYPE 2, STID=57, SKIP=84 message and hex
VMAC110 dump on the log with CICS/ESA 3.3.0 results because there
Feb 7, 1995 are undocumented bytes observed at the end of record.
This diagnostic message has no effect on the type 110
processing, so your datasets were built correctly (it's
there so I can detect if IBM adds new, useful data, but
in this instance, they simply added nulls!), but the dump
on the log and the message can be eliminated:
Inside the DO group IF STID=57 THEN DO;
replace IF SMFPSRVR EQ 33.0 THEN SKIP=SKIP-336;
with IF SMFPSRVR EQ 33.0 THEN DO;
SKIP=SKIP-336;
IF SKIP GT 0 THEN DO;
INPUT +SKIP @;
SKIP=0;
END;
END;
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 12.277 Support for ACC/SRS, Allocation Control Center/Space
EXTYACC Recovery System (from Mitchem Technologies) user SMF
IMACACC record. SRS is like STOPX37; an SRS record is written
TYPEACC whenever SRS protected an x37 ABEND by adding secondary
VMACACC space. ACC controls dataset allocation and lets you
Feb 6, 1995 change anything on a DD card. The record is written when
either SRS recovers, or when ACC sends a message.
===Changes thru 12.276 were included in MXG 12.07 dated Feb 6, 1995===
Change 12.276 Continued enhancement to IBM-like RMF reports. The MXG
ANALRMFR device reports can be selected by:
Feb 5, 1995 SG =, Storage Class selection
DN =, Device Number selection
LCU=, Logical Control Unit selection
and Coupling Facility report can be selected by:
RSYSPLX=. Sysplex report selection.
Format MGRMFA3 was removed for variable LCU in the I/O
queueing report (it caused hex instead of decimal values)
and this edition supports more than two IOPIQIDs (using
PROC TRANSPOSE and ARRAY processing).
Change 12.275 The old analysis of tape drives, using PDB.STEPS was
ANALTAPE revised to use the new ANALCNCR macro to speed up the
Feb 5, 1995 analysis, but using the ASMTAPES MXG Tape Allocation
Monitor records and datasets PDB.TYPETALO and member
ASUMTALO is strongly recommended as more accurate.
Change 12.274 New analysis of initiator concurrent use (i.e., how many
ANALINIT jobs are concurrently in initiation), using ANALCNCR (see
Feb 5, 1995 Change 12.272). Unfortunately, there is no way to know
Feb 19, 1995 which initiator is actually used, but at least we can
determine how many jobs are waiting or running in any JES
job class. There are also some limitations to initiator
analysis. Jobs submitted into HOLD cannot be included in
measurement of jobs waiting, because we do not know when
the job was released from hold, so these jobs are deleted
(TYPERUN=HOLD) from the analysis. (Note that jobs that
are read-in and then later placed in HOLD cannot be
detected and are thus inadvertently included as queued.
You might be able to establish a criteria for queue time
that would let you identify these probably-held jobs -
like queue time greater than one hour for 15 minute job
class - and then delete these exceptions from analysis.)
For Duplicate Jobname hold, the job is not counted in the
input queue until the previously-initiated, same-named
job has ended. Finally, the analysis only applies if the
job observation in PDB.JOBS actually completed execution;
i.e., only if INBITS contains a J in the third position.
The analysis first separates held jobs from jobs to use,
and then invokes %ANALCNCR twice to count the number of
jobs in execute/queued/held/samename, and then these 4
datasets are merged for the report. Buckets are created
for distribution values of job counts, and you can change
the number and values of the buckets. The default values
are 5, 10, 15, 20, 25, 30 , 35, and > 35 jobs. ANALINIT
is designed for MXG's PDB.JOBS, but it shows how "open"
MXG routines are to point out that one MICS and MXG user
used ANALINIT with MICS's BATJOBxx dataset, simply
by replacing these MXG variable names with their MICS
counterparts:
MXG Variable MICS Variable
READTIME RDRTS
JINITIME STARTTS
JTRMTIME ENDTS
TYPRUN='HOLD' JOBHOLD GT 0
TYPETASK not applicable
INBITS not applicable
RDRTM JOBRDRTM
Thanks to ???,???, USA, who raised the question at CMG.
Change 12.273 Complete revision of the summarization of Tape Allocation
ASUMTALO using the ASMTAPES Tape Mount and Allocation monitor now
TRNDTALO uses ANALCNCR (See Change 12.272). Early test sites that
Feb 5, 1995 have previously used ASUMTALO/TRNDTALO will need to go
Feb 20, 1995 back and reprocess TYPETALO with ASUMTALO, because the
earlier version of ASUMTALO/TRNDTALO kept averages, but
this version keeps totals (like other ASUM... members).
In ASUMTALO, SAS Compression is turned off, just in case
you had turned it on. Because few variables are kept,
compression saved no DASD space, but caused a significant
increase in CPU time, 230 to 590 seconds with a million
observations as input. Because allocations are not
written until termination, TRNDTALO re-drives the week's
detail in TYPETALO back through ASUMTALO to eliminate the
overlap and increase the accuracy of allocation trends.
See ADOCTALO (when complete, hopefully in MXG 12.12 but
still in progress at press time) for more discussion.
This note was added after MXG Newsletter 27:
TRNDTALO was enhanced to 'fix' the problem of tape
drive allocations that are in effect when the SMF data
is dumped. Since this would be a daily occurrence,
detail data from the WEEK.TYPETALO is resummarized in
TRNDTALO, but since ANALCNCR runs quickly, the impact
is minimal. The duration of a shift is defined as the
actual shift duration as defined in your IMACSHFT
(whether or not we found data during all intervals).
To avoid the remaining overlapping allocations causing
data perturbations, if an interval has already been
summarized (it was in last weeks TREND database) the
duration, max, and buckets for incoming records from
the WEEK.TYPETALO will be set to 0. Thus, the
averages will be correct but (for those small number
of overlapping allocations) the MAX and buckets will
be slightly less than accurate.
Change 12.272 A powerful new MXG tool for the analysis of concurrency
ANALCNCR (how many tape drives, or initiators, or programs ... are
Feb 5, 1995 concurrently being used. Previously, I used brute force
to count concurrency; an observation with a start and end
time was exploded into many observations, with the time
incremented from start to end by a delta-value, and then
observations were summed by time to count concurrency.
Thus a one-hour step record would explode into 600 obs if
the delta-value was 6 seconds. While that algorithm was
accurate, its execution required lots of DASD and time.
When someone at CMG asked about initiator usage, Chuck
used VMXGSUM and the brute force approach in an example,
but I realized that a general purpose routine was really
needed, and then remembered the algorithm in my 1973
simulator (and also recalled that an MXG user had made a
similar suggestion long ago). I gave the algorithm to
Chuck, and the result is this fine new tool: %ANALCNCR.
This concurrency algorithm, instead of exploding obs and
summing by timestamp, creates only two observations per
event, one at the start, with a positive value of the
variable to be counted, and a second at the end, with a
negative value. Then, sorting and scanning by time,
adding or subtracting counts as events occurred in time,
the number of concurrent "things" is easily counted with
no explosion in the number of observations. Furthermore,
there is no delta-interval; the clock resolution of the
timestamp automatically counts any "thing" that exists
for more than one clock interval. The performance of
ANALCNCR over the old algorithm is phenomenal; ASUMTALO
with 860,000 records took only 20 minutes elapsed and 6
minutes of CPU time; the old logic took that time for
only 8000 records! Not only is ANALCNCR a stand-alone
analysis module, it is already used in MXG members
ASUMTALO,ASUMINIT, and ANALTAPE, with more to come!
The logic creates the "detail" data set with the count
value and the duration at that count value (and the
"detail" can have fewer observations than the number of
original events!), and ANALCNCR will (optionally, but
usually) summarize the "detail" data set into intervals
(eg. hourly), as well as creating percentage-of-time
distribution values. There are even canned printed and
plotted reports in Chuck's fine piece of work.
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.271 Further enhancements after stress tests of XMXGSUM (which
XMXGSUM will eventually replace VMXGSUM). The compiler fakers
VMXGSUM (IF X=. THEN X=.) which eliminated the UNINITIALIZED VAR
Feb 5, 1995 messages were removed, as they were causing dropped
variables to be re-created in the output data set.
If you used DATETIME=xxx and also used xxx in a MINTIME=,
MAXTIME=, or SUM= argument, xxx was inadvertently dropped
(error was introduced by Change 12.084 when the DROP of
DATETIME was added). A new argument, DSNLABEL= was added
to supply a label for the output dataset created. Lots
of effort went into the parsing logic that supports the
use of multiple input datasets that have data set options
(like IN=, KEEP=, END=), since we now force a KEEP=
option on the input datasets to improve performance and
minimize work DASD space. KEEPALL= and DSNLABEL= were
also added to VMXGSUM for consistency.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Roger Zimmerman, Kemper Financial Services, USA.
Change 12.270 DB2PM-like Locking Reports were revised, now using IFCID
ANALDB2R 172 for Deadlock/Timeouts, and syntax errors in PMLOK02
Feb 5, 1995 (missing END) were corrected, and PMLOK03 was revised.
See also Change 12.250.
Change 12.269 Preliminary support for Boole & Babbage's CMF VSAM MMR
EXCMFVAS Historical Records creates 24 new datasets, but only the
EXCMFVCA two most important datasets are complete (CMFVASRE and
EXCMFVCP CMFXDRE). Others will be supported as-requested. These
EXCMFVCX datasets are created directly from the VSAM file:
EXCMFVDI CMFVAS - Address Space
EXCMFVDM CMFVCA - Cache
EXCMFVDX CMFVCP - CPU
EXCMFVEN CMFVCX - Channel Path
EXCMFVES CMFVDI - Dataspace Info
EXCMFVIS CMFVDM - SRM Domains
EXCMFVLP CMFVDX - Device
EXCMFVLX CMFVEN - Enqueue
EXCMFVPD CMFVES - ESTORE Criteria
EXCMFVRW CMFVIS - Interval Summary
EXCMFVSC CMFVLP - LPAR/Domain
EXCMFVSD CMFVLX - LCU
EXCMFVSM CMFVPD - Page Data Sets
EXCMFVSP CMFVRW - Resolve Warnings
EXCMFVSS CMFVSC - SYSID CPU
EXCMFVSU CMFVSD - Swap Data Sets
EXCMFVSY CMFVSM - SMS Storage Group
EXCMFVWK CMFVSP - SYSID Paging
EXCMFVWT CMFVSS - SYSID Swapping
EXCMFVWU CMFVSU - SYSID Summary
IMACCMFV CMFVSY - Global SYSID
TYPECMFV CMFVWK - Workload
VMACCMFV CMFVWT - Wait/Use Summary
Feb 18, 1995 CMFVWU - Wait/Use
Feb 23, 1995 See comments in member VMACCMFV for testing status.
There's lots and lots of data here.
Change 12.268 Support for BGS's BEST/1 I/O Monitor SMF record adds four
EXBGSCPU new datasets:
EXBGSDEV B1MONCPU - I/O Interrupts by CPU
EXBGSMON B1MONDEV - I/O Interrupts by Device
EXBGSPGN B1MONMON - Resources consumption of the B1MON itself
IMACBGSI B1MONPGN - I/O Interrupts by Perf Grp by Device
TYPEBGSI Their monitor is a powerful tool for I/O analysis.
VMACBGSI This code has only been bench checked with a hex dump.
Feb 4, 1995
Change 12.267 Support for Xerox Print Service Manager user SMF record
EXTYXPSM adds new dataset TYPEXPSM which tracks print and CPU
FORMATS resources, with lots of good quality data for managing
IMACXPSM and measuring print activity with XPSM. New records
TYPEXPSM with fixes for all reported problems is in hand, but it
VMACXPSM won't be tested before the Newsletter deadline, so check
Feb 4, 1995 this text in member CHANGES of MXG 12.12 for an update.
Thanks to Tom Bell, Rivendel Consulting, USA.
Change 12.266 If you use TYPEMON8 to process Landmark records that were
TYPEMON8 converted back to Version 8 format from CICS/ESA 1.3 data
Feb 4, 1995 TYPEMON8 fails with invalid records. Their conversion PGM
adds unexpected records at the beginning of the file with
value of 'HH' in TMMDREC. Expanding the test to read:
IF TMMDREC='DD' OR TMMDREC='HH' THEN DELETE;
appears to have resolved the problem. (Of course, the
real solution is to read the native 1.3 records with new
support in MXG's new TYPETMON member; see Change 12.151.)
Thanks to Bill Padillia, Farmers Group, USA.
Change 12.265 IMF variables ABENDSYS/ABENDUSR in CIMSPROG dataset were
VMACCIMS incorrectly documented and wrongly input. Instead of the
Feb 4, 1995 expected two-byte hex fields for each, the codes are in
a four byte field with value xxsssuuu, so the variables
are now input @90 for ABENDSYS and @91 for ABENDUSR, and
these two lines were inserted after the @; after INPUT:
ABENDSYS=FLOOR(ABENDSYS/16);
ABENDUSR=MOD(ABENDUSR,4096);
Thanks to Mel Lallement, Cessna Aircraft, USA.
Change 12.264 Support for RMDS Version 2.1 (completely incompatible!).
IMACRMDS Not only were the key values changed from alphabetic to
VMACRMDS numeric, but also the detail directory data from the
Feb 3, 1995 Archive activity no longer exists, so there are 46 fewer
variables in Version 2.1 than in Version 1.3/1.4. I have
removed those 46 variables from the KEEP= list for the
dataset TYPERMDS, but those variables are now in member
IMACRMDS, in a comment block inside macro _KTYRMDS, so
if you are still on the old release and want them kept,
you simply remove the comments and all 46 additional
(and now archaic!) variables will be kept. Seven new
variables were also added by RMDS 2.1. Fortunately, I
can recognize Version 2.1 records internally, so it is
not necessary to update macro _RMDSVER in IMACRMDS to
tell me you have installed Version 2.1 (although _RMDSVER
still is used for Version 1.2 versus Version 1.3/1.4).
The new version has set a world record for the largest
number of bytes to hold a date-time field; the previous
12-byte format (YYMODDHHMMSS) was expanded to 26 bytes:
YYYY.MO.DD.HH.MM.SS.uuuuuu (with microsecond resolution)!
Change 12.263 Support for TPX 4.0 SMF record adds 9 new TPX datasets:
EXTPXASS TPXASSIS - User starts/ends session assist session.
EXTPXCOI TPXCONFI - User inits/terms conference session.
EXTPXCOJ TPXCONFJ - User joins/leaves conference session.
EXTPXGRA TPXGRANT - User grants temporary view authority.
EXTPXPLY TPXPLYBK - User starts/ends playback session.
EXTPXREC TPXRECRD - User starts/ends record session.
EXTPXTRI TPXTRNGI - User init/terms training session.
EXTPXTRJ TPXTRNGJ - User joins/leaves training session.
EXTPXVIE TPXVIEW - User starts/ends session view session.
IMACTPX These new subtypes were added compatibly, but the TPX
VMACTPX version number change will cause an MXG error message
Feb 1, 1995 "Unrecognized TPX Version=4.0". Until you get the new
version with full support, you can circumvent that error
by inserting a line reading
ELSE IF TPXVER=:'4.0' THEN TPXVER=' 4.0';
after the similar ELSE IF TPXVER=:'3.5'.... statement.
Thanks to Warren Hayward, TJX Companies, USA.
Change 12.262 Zero observations in dataset CACHE90 with RAMAC devices
VMACACHE behind both 3990-3 and 3990-6 cache controllers because
Feb 1, 1995 CLEN (IBM field RF8CLEN) has zero value. Insert the
statement IF CLEN=0 THEN CLEN=108; after the statement
INPUT @OFFDATA+15 CLEN &PIB.2. @;
as a circumvention while we still pursue the IBM error.
Thanks to Miguel Sanchez, Florida Power and Light, USA.
Thanks to Harry Price, Florida Power and Light, USA.
Change 12.261 Support for APAR OW05435/OW07895 adds new variable
VMAC79 R793CUT to dataset TYPE793, but no format for the data
Jan 29, 1995 was given - I have guessed it's really CPU time, but am
pursuing with IBM.
Change 12.260 Reserved Change Number.
Jan 29, 1995
Change 12.259 Replacement support for TYPEZRB RMF Monitor III VSAM data
ASMRMFV for MVS/ESA 4.3 is tested for DSIG3, SSHG3, ASIG3, GEIG3
IMACRMFV & DVTG3 tables and work is planned for the UWDG3, CSRG3,
TYPERMFV & PGPER tables - both the ASMRMFV assembly program and
VMACRMFV the VMACRMFV SAS programs must be changed to support the
Jan 29, 1995 additional segments, but their DSECTS are missing
Feb 20, 1995 -RMF VSAM data is now compressed, so you must assemble the
program ASMRMFV (in member ASMRMFV) for the 2-step job:
-ASMRMFV reads the VSAM file from DDNAME of RMFVSAM,
invokes IBM's Data Set Decompression Interface Service
module (ERB3RDC) to decompress the data, and then writes
each section as a logical record to the output RMFBSAM
DDNAME, which is a temporary file on DASD.
-TYPERMFV reads the INFILE of RMFBSAM to create the MXG
datasets (all starting with ZRB....., and the dataset
names and variable names are the same as those created
by the original TYPEZRB code). In the example JCL below,
the output MXG datasets will be written to the DDNAME of
ZRBPDB because of the USER=OPTION on the EXEC statement.
-First, assemble the ASMRMFV program into YOUR.LOADLIB.
-Second, use this JCL:
//ASMSTEP EXEC PGM=ASMRMFV
//STEPLIB DD DSN=YOUR.LOADLIB,DISP=SHR
//RMFVSAM DD DSN=YOUR.VSAM.RMFIII.DATA,DISP=SHR
//RMFBSAM DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
// DSN=&&BSAMRMF,DISP=(,PASS)
//MXGSTEP EXEC MXGSAS,OPTIONS='USER=PDBZRB'
//RMFBSAM DD DSN=&&BSAMRMF,DISP=(OLD,DELETE)
//PDBZRB DD DSN=YOUR.OUTPUT.PDB.LIBRARY,DISP=(,CATLG)
%INCLUDE SOURCLIB(TYPERMFV);
All storage variables that contained FRAME counts were
converted into bytes and formatted with MGBYTES format,
so installed/used values can be compared easily, and the
labels indicate "storage" rather than "frames".
Many new variables are now created in ZRBASI and ZRBGEI.
This support is preliminary, in that it has not had any
extensive usage by real users, although I have had real
data to look at. Some of the fields may be accumulated,
and it may be necessary to add a post-processing step to
de-accumulate, but I need feedback from active users to
add the polish to this (long-overdue) enhancement. I did
not compare my output with snapshots of RMF III screens,
so please verify my calculations. The next interation of
ASMRMFV will provide record selection and will print a
summary report of records found/written. Originally,
ASMRMFV was named ASMMON3.
Thanks to Don Friesen, BC Systems, CANADA.
Thanks to Danal Estes, Logical Resources, USA.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 12.258 JCLTEST6 may fail with LIBRARY MONITASK UNASSIGNED in
JCLTEST6 step TESTIBM2 or BUILDPDB, if you have changed member
Jan 27, 1995 IMACMONI to specify MACRO _LMONTSK MONITASK.MONITASK %.
JCLTEST6 invokes ASUMCICS in TESTIBM2 in member TYPE110,
and step BUILDPDB also includes ASUMCICS, and if you have
added the MONITASK ddname in IMACMONI, then both steps
will require that ddname. Although obscure, I have put
//MONITASK DD in both steps in the test job stream.
Thanks to Angela Mulcahy, UJB Financial Corp, USA.
Change 12.257 Support for TCP/IP Version 3.1 requires MXG 12.07 or
VMACTCP later to be compatible, but sites with MXG 12.01-12.06
Jan 27, 1995 can process Version 3.1 records by changing the LENGTH
Feb 3, 1995 tests (added by MXG Change 12.041)
from 200 to 204 for TCPEVENT='FTPSERVER'
from 86 to 90 for TCPEVENT='TELSERVER'.
TCP/IP Version 3.1 added FTPLCLUS (local user ID) and
FTPLCLPN/FTPRMTPN (local/remote port) in dataset
TYPETCPF (TCPSERVER), and added TELLCLPN/TELRMTPN in
dataset TYPETCPT (TELSERVER). (FTPLCLUS does exists in
records written by both TCP/IP Versions 2.2.1 and 3.1).
Thanks to Wanda Prather, The Johns Hopkins University APL, USA.
Change 12.256 Variable TRANSACT in Landmark is an eight-byte variable,
TYPETMON but only the first four bytes are used for transaction
TYPEMON8 name; the final four bytes are hex nulls ('00000000'X).
Jan 26, 1995 If you test for TRANSACT='ABCD', the test will always
fail, because SAS pads the literal 'ABCD' with blanks,
and ABCD-blanks is not equal to ABCD-hex-zeroes. You can
circumvent this effect by using the colon-modifier in the
equality: IF TRANSACT=:'ABCD' THEN ... which test true
for all values of TRANSACT that start-with ABCD. However,
I have decided to correct this problem at the source, and
have inserted the following TRANSLATE after each input in
both Landmark members:
TRANSACT=TRANSLATE(TRANSACT,' ','00'x);
Thanks to Tim Carne, Nottinghamshire County Council, ENGLAND.
Change 12.255 TYPE78CF variable PCTDIRPT is mislabeled as percent delay
VMAC78 and was miscalculated. The line
Jan 25, 1995 IF NRCMPTSM GT 0 THEN PCTDIRPT=100*PCTDIRPT/NRCMPTSM;
was replaced with
IF (CHPIDTKN+PCTDIRPT) GT 0 THEN
PCTDIRPT=100*PCTDIRPT/(CHPIDTKN+PCTDIRPT);
with new LABEL of 'PERCENT WHEN*DIRECTOR PORT*WAS BUSY'
Note: See Change 15.061, which revised this change.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 12.254 -BatchPipes/MVS variables INTBTIME/INTETIME are in the
FORMATS SMFSTAMP8 format rather than TODSTAMP8 (obvious, when
VMAC91 you have test data records!). Find their INPUT after
Jan 25, 1995 IF SMF91PRL GE 60 THEN DO; and use SMFSTAMP instead of
Feb 9, 1995 TODSTAMP8 for INTBTIME and INTETIME (SMF91IST/SMF91IET).
Note: Do not change the first INPUT of only INTETIME, as
it (SMF91INT) really is in TODSTAMP format!
The logic for INTBTIME/INTETIME/DURATM is now INPUT only
for the interval subtypes 2 and 12 (their un-cleared, non
zero values were confusing). INTETIME is set to SMFTIME
and INTBTIME/DURATM will be missing in non-intervals.
-The lines with +4 after the INPUT of SMF91IWB and after
the INPUT of SMF91OWB must be deleted to correct the
values of SMF91IEC/SMF91OEC/AFSTTIME/ALSTTIME.
-Variables SMF91SST and SMF91STR are now decoded by format
for subsystem status (ACTIVE/STARTING/STOPPING) and trace
activity (ERROR/ FUNCTION/FLOW).
-APAR PN66074 corrects the value of SMF91PLR, the Pipe's
LRECL, which was 4 too large before the APAR.
Thanks to Lawrence Jermyn, Fidelity Systems Company, USA.
Change 12.253 MXG 12.04-12.06 only. ACF2 SMF record still gets an
VMACACF2 INPUT STATEMENT EXCEEDED RECORD LENGTH error results
Jan 24, 1995 because the code added by Change 12.072:
IF ACVMFIDC GT 0 THEN DO _I_=1 TO ACVMFIDC;
must be IF ACVMFIDC GT 0 THEN DO _I_=3 TO ACVMFIDC;
(the first two authids have already been input!).
Thanks to Peter Arcoudis, NRMA, AUSTRALIA.
Thanks to Dov Brosch, Solomon, USA.
Change 12.252 MVS/ESA 5.1, Goal Mode, TYPE72GO dataset variables from
EXTY72DL the Work/Resource Manager State Samples (all start with
IMAC7072 R723R... or R72XR...) were moved from TYPE72GO into new
VMAC7072 dataset TYPE72DL (for Delay, since these state samples
BUILDPDB report workload delays), because there can be more than
WEEKBLD one pair of Begin-to-End/Execution statistics for these
MONTHBLD "Transaction Service Class" observations (R723TYPE=3).
Jan 21, 1995 For example, if the SRVCLASS is a logical service class
(i.e., for CICS transactions), and those transactions
also call on IMS, the TYPE72GO for the SRVCLASS would
have delay state sections for both the CICS region and
the IMS region delays, but the original implementation
only kept the first set of delay statistics.
Additionally, these variables only exist in R723TYPE=3
records, so creating the new dataset will save DASD by
reducing the size of TYPE72GO dataset.
And dataset TYPE72DL will only have observations if you
have Transaction Service Classes, R723TYPE=3 records.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 12.251 DB2 Transit Report failed with NOT SORTED because the
ANALDBTR pairing of the 015-016-017-018 IFCIDs in ANALDBTR added
ANALDB2R CUBTOKEN (Change 12.124), causing the S015S018,S016S018,
Jan 21, 1995 S017S018, or S018S018 data to be out of sequence with the
rest of the trace events. The fix in ANALDBTR was to add
PROC SORT DATA=SxxxS018 OUT=SxxxS018;
BY SYSTEM QWHSSSID QWHSACE QWHCCN QWHCCV BEGEVENT;
for each of the four SxxxS018 datasets at the end of the
_015PAIR macro. In addition, the design of the Transit
Report was changed to minimize DASD required. The report
previously built the TRANSIT dataset (747 variables!) and
then did a PROC PRINT; now, the report is produced with
PUT statements, and the TRANSIT dataset is now built with
only 6 variables (for a summary report of event counts).
Thanks to Dan Null, Caterpiller, USA.
Change 12.250 DB2 Locking Contention Report PMLOK02 in ANALDB2R was
ANALDBTR incorrect, and the pairing logic for 044-045-054 IFCIDs
XDB2LOCK in ANALDBTR was also incorrect. ANALDBTR has been fixed
Jan 20, 1995 while PMLOK02 is still being repaired. However, member
XDB2LOCK provides an analysis of DEADLOCK/TIMEOUT events
that may meet your needs, and can be easily tailored if
you need more details on these contention events.
Thanks to Charlie Royster, AHOLD, USA.
Change 12.249 The DEVCYL value (cylinders per device) for RAMAC devices
VMXGVTOF is different than for a native device. For native 3390-3
Jan 16, 1995 DEVCYL=3340, but for RAMAC 3390-3, DEVCYL=3339, which is
the number of cylinders that you can really use! So why
is the value different? Because native devices have 15
alternate tracks (one cylinder), which DEVCYL counts, but
RAMAC alternate track support is internal, and does not
count the extra cylinder. In VTOC processing, MXG has
always subtracted one from DEVCYL so that DEVCYL*DEVTRK
would give you the correct capacity, but for a RAMAC VTOC
DEVCYL ends up one cylinder too small!
(The impact of one cylinder of capacity would probably
be overlooked, but this site used exact values of DEVCYL
in a FORMAT to identify which model 3380/3390 was used,
and the off-by-one value fell thru their format!).
At present, there does not seem to be a way to tell that
the VTOC is from a native device versus a RAMAC device,
so I may have to resort to a table of expected sizes, but
I await IBM's response.
Thanks to Paul Polley, PolyGram Holding, Inc, USA.
Change 12.248 The //IMSSUM DD had RECFM=F,LRECL=132,BLKSIZE=132 when it
ASMIMSLG should have been RECFM=FB,LRECL=132,BLKSIZE=23364. This
Jan 16, 1995 can only help the elapsed run time! (Also, the LRECL=132
files with BLKSIZE=13200 were increased to BLKSIZE=23364,
for half track on 3380s.).
Thanks to Don Cleveland, Blue Cross and Blue Shield, USA.
Change 12.248A Cosmetic. The comments and examples for using IMACFILE
IMACFILE were revised, and the list of variables available to the
Jan 16, 1995 exit was corrected.
Thanks to Mr. Loewenthal, Zonussi Elettrodomestici, ITALY.
Change 12.247 Variable LSCDSTYP replaced a reserved field in NPMINSES
VMAC28 dataset in NPM 2.2, but was overlooked until now.
Jan 16, 1995
Thanks to John Steigerwald, Canadian General, CANADA.
Change 12.246 Matching CICSTRAN with DB2ACCT found occurrences when the
ANALDB2C DB2 plan continued to execute long after the CICS trans
Jan 12, 1995 had ended, and a trace of these transactions was needed,
so a new %MACRO DBUGDB2C will now print out the detail
events for a selected NETSNAME/UOWTIME value. Also, the
matchup logic now prints notes on the log on selected
mismatches (first 5, then every 100,000th) so you can
diagnose data problems (like one day's DB2 with another
day's CICS!). See comments in the member, and the DB2
Technical Note in Newsletter TWENTY-SEVEN.
Thanks to Ed Long, Fidelity Systems, USA.
Change 12.245 INVALID DATA FOR OPENDTE in type 14/15 records with nulls
VMAC1415 in that date field are corrected by adding ?? between
Jan 12, 1995 OPENDTE and PD4. and by wrapping the OPENTIME and OPENTM
calculations with IF OPENDTE GT 0 THEN DO; ... END;
I do not know why these records, clearly written after
APAR OW00484 was installed, have zero date, but only one
such record has been found.
Thanks to J. R. Bleeker, Newport News Shipbuilding, USA.
Change 12.244 Variable LCU or LCUID was FORMATted as HEX2., but sites
DOC now have more than 255 LCUs, so the variable was changed
Jan 11, 1995 from HEX2. to HEX4. in members TYPE8911,TYPE10,TYPE1415,
TYPE19,TYPE21,TYPE64,TYPE69,TYPE74,TYPE75,TYPE78,TYPE79.
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Change 12.243 Support for ICEBERG's IXFP SRP Subsystem Performance SMF
VMACICE record PUT9404 changes the subtype 1 record (MXG dataset
Jan 11, 1995 ICEBRGSY) compatibly, adding variables FREBESCT/FREBESCP
(free collected back end space total/in prod partition).
Change 12.242 Support for DFSMSrmm records with DFSMS Release 1.2, and
TYPEEDGB new support for rmm's Control Backup file.
VMACEDGR To summarize MXG support for various rmm data sources:
VMACEDGS Member Infile Reads
Jan 11, 1995 TYPEEDGB LOGSMF Control Backup (EDGSKIP with BACKUP)
TYPEEDGR EDGHSKP Extract (EDGSKIP with RPTEXT)
TYPEEDGS SMF SMF Audit and Security (must update
member IMACEDGS for SMF record ID).
-VMACEDGR support for the DFSMSrmm Extract Record type S
causes INPUT STATEMENT EXCEEDED because the +38 Reserved
field following RSBINNO should have been +31. Also,
field RVSTSTAT does not exist, RVSTBIN and RVOBIN should
have been $EBCDIC6 instead of $EBCDIC8, and RVSTDATE
should have been $EBCDIC10 instead of $EBCDIC8.
This Extract Record is created by EDGHSKP with RPTEXT
option, but all of the dates are in character instead of
SAS dates, so this file may be less than useful.
-However, if EDGHSKP is run with the BACKUP option, that
file creates records that are almost like the SMF records
that are processed by VMACEDGS, except that there is no
SMF header, and there is no EDGS header. With minor
changes to VMACEDGS, new member TYPEEDGB will now read
the backup file (but note, you must use the //LOGSMF DD
to point to the backup file). This seems to be the best
data to use account for and analyze all your rmm tapes!
-The VMACEDGS Audit Record type D variables MDPDSN/MDNDSN
were always INPUT, but they may or may not exist; now the
INPUT is conditional. based on MDPDSNL/MDNDSNL.
Thanks to David Froberg, Software AG, USA.
Change 12.241 MVS/ESA Goal Mode type 72 subtype 3 does not measure the
VMAC7072 SYSTRNTM, the total system transaction time, from read in
Jan 10, 1995 to termination. Instead, variable AVGXETTM (Average
Execution Time), which is a subset of the AVGELPTM
(Average Elapsed time) duration is created. (SYSTRNTM
does exists in Compatibility Mode.)
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA
===Changes thru 12.240 were included in MXG 12.06 dated Jan 09, 1995===
Change 12.240 Cosmetic changes (LABELs for unlabeled variables, names
DOC in comments corrected, delete of temporary datasets that
Jan 8, 1995 should not have been kept, uncovered during QA runs) were
made to these 18 members:
ANALVMDY ASUMTALO INSTALL JCLINSTL JCLUXRE6 TESTIBM3
TYPEMON8 TYPETMON TYPE102A VMACRSPS VMACSIM VMACTIRS
VMACTLMS VMACVMON VMACXAM VMACZRB VMAC0 VMAC44
Change 12.239 Dan Kaberon has revised his analysis that merges the MVS
ADOCPATH TYPE73, TYPE74, and TYPE78CF data to analyze I/O path
ANALPATH statistics. An excellent documentation of the report is
ZNALPATH also provided by Dan in ADOCPATH, and (though unlikely to
Jan 8, 1995 ever be needed again), the original ANALPATH is ZNALPATH.
Thanks to Dan Kaberon, Hewitt Associates, USA.
Change 12.238 Almost cosmetic. There was no EXDB2STS exit member for
EXDB2STS dataset PDB.DB2STATS, but as there was also no statement
DIFFDB2 "%%INCLUDE SOURCLIB(EXDB2STS);" in DIFFDB2 (the OUTPUT
Jan 8, 1995 statement was implicit). Now there is an INCLUDE to
explicitly invoke the (newly created) exit member.
Change 12.237 MXG 12.04-12.05 only. Support for new subtype 5 Iceberg
EXICEDEL Deleted Data Space Release event (MXG dataset ICEBRGDE)
VMACICE was incorrectly output in dataset ICEBRGDR, and there was
Jan 8, 1995 no exit member EXICEDEL added to the Source Library,
because the "%%INCLUDE SOURCLIB(EXICEDRV);" following the
"MACRO _CICE05" definition in member VMACICE should be:
"%%INCLUDE SOURCLIB(EXICEDEL);/*_LICEDEL OUTPUTS ICEBRGDE*/
No one reported this error (which actually has minimal
impact since the subtype 5 is new and infrequent).
Instead, it was detected by a real fine addition to my QA
jobstream that was written by Freddie Arie. Using the
structure and naming conventions of MXG, Freddie reads
the MXG source library to look for exceptions and lack
symmetry between the IMACs, VMACs, and the exit members,
such as mismatched comments and datasets not output, and
it even verifies that any dataset name in a comment after
each OUTPUT statement is actually the dataset name that
is ultimately output! His powerful logic found my coding
error (I had block replicated code to add support for the
new subtype 5 record, but had failed to change the exit
name!).
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.236 DB2 report PMSQL01 may fail because QWHCTOKN was in the
ANALDB2R BY list for the report step, but was left out of the BY
Jan 8, 1995 list for the sort (and the failure is only apparent if
your data has non-blank QWHCTOKN!). Replace the line
NETSNAME QWHSLOCN BEGEVENT; with
NETSNAME QWHSTOKN QWHSLOCN BEGEVENT;
Change 12.235 Further cleanup of CICS reporting. Correct summarization
ANALCISH of "Storage Manager" CICSMD/CICSMT/CICSMDSA and "Journal"
Jan 5, 1995 CICJCR. "Last Reset time" (DSGLRT) was incorrect on the
report headers. Merged CICxxxxx datasets with CICDS, BY
statement changed to BY SYSTEM COLLTIME;, and VMXGSUM is
now used internally.
Dataset summarization status with this revision:
CICVT "VTAM STATISTICS"
Summarization value (times at RPL maximum) does
not match IBMs value, DETAIL values do match.
CICTCR "TERMINALS"
CICSMD-CICSMT-CICSMDSA "STORAGE MANAGER"
CICJCR "JOURNALS".
CICTCLR "TCLASS STATISTICS"
CICTM "TABLE MANAGER"
CICAUSS "AUTOINSTALLED TERMINALS"
CICAUTO "AUTOINSTALLED STATISTICS"
Summarization value (Times the peak was reached)
does not match IBMs value, DETAIL values do match.
CICDBUSS "DBCTL STATISTICS"
CICLDR "PROGRAMS"
Summarization value (Average fetch time) does not
match.
CICDS "DISPATCHER & TCB STATISTICS"
CICDTB "DYNAMIC TRANSACTION BACKOUT"
CICFCR "FILES DATA TABLE STATISTICS"
CICIRCB "BATCH GLOBAL STATISTICS"
CICLDG "LOADER STATISTICS"
Value in question: "programs loaded but not in use".
CICM "MONITORING STATISTICS"
CICDQG "TRANSIENT DATA GLOBAL"
CICDQR "TRANSIENT DATA RESOURCES"
CICLSRR "LSRPOOLs "
SHARED DATA BUFFERS O.K.
Had no index data or hiperspace data to verify values
CICLSRFR "LSRPOOL FILES"
CICST "STATISTICS DOMAIN STATISTICS"
CICTC "TASK ACCUMULATED SO FAR"
CICTSQ "TEMPORARY STORAGE"
CICCONSS "ISC/IRC ATTACH TIME STATISTICS"
average reuse time values do not match:
IBM Average reuse time tween entries: 00:00:08.3886
MXG Average reuse time tween entries: 0:00:00.296
and the MXG value was summed.
NEW CICS 4.1 REPORTS. None have been validated with 4.1
test data yet; this note will be updated when tested.
CICDLIG "DL/I GLOBAL"
CICFEPIC "FEPI CONNECTION"
CICFEPIP "FEPI POOL"
CICFEPIT "FEPI TARGET"
CICPAUTO "AUTOINSTALL PROGRAM"
CICPUSG "USER DOMAIN"
CICXMC "TRANSACTION MANAGER TCLASS"
CICXMG "TRANSACTION MANAGER GLOBAL"
CICXMR "TRANSACTION MANAGER TRANSACTIN"
Thanks to Mike Major, RSCA, USA.
Change 12.234 This is a documentation change only. No code was changed.
ASMTAPES The Tape Allocation Monitor portion of ASMTAPES still has
Jan 5, 1995 occasional incorrect allocation records (see below), but
ASMTAPES still is the replacement that should be used
in place of ASMTMNT, because the Tape Mount Monitor part
of ASMTAPES is better than ASMTMNT. Comments in ASMTMNT
explicitly tell you to use ASMTAPES instead of ASMTMNT!
Note that if you are running an old copy of ASMTMNT, and
if you suddenly find there are no tape mount records, it
probably means that your site installed the new HCD
architecture (which supports dynamic addition of new tape
devices without a SYSGEN). You will need to re-assemble
ASMTAPES and you will find your mount records will then
reappear. (Some sites assembled ASMTMNT four years ago,
before it was modified for the new HCD architecture!).
These problems are still not resolved in MXG 12.12:
-There are occasional, apparently specious, records with
PROGRAM='IEFIIC' or PROGRAM='STARTING', and typically
with a very short allocation duration that should be
deleted from your analysis. We are still investigating
why these incorrect program names and very short
allocation durations are created; statistically they seem
insignificant, but pragmatically we need to trap and
understand them. I though about deleting them for you,
but that runs against the grain, so I report them here
while the investigation is in progress. I suggest you
look at your data first, and then delete these
observations (and any with a duration less than ten
seconds, as these are insignificant events in the big
picture).
-Thanks to very fine research by Michael Enad of Dun &
Bradstreet, two additional problems in the Allocation
monitor are under development - we apparently miss two
types of deallocation events:
- When a tape volume is swapped from one drive to
another (either due to an error on the first device,
or due to operator command to swap the mount into or
out of a silo), we currently miss the deallocation of
the first device, and instead of writing two separate
allocation records, only one record is written when
the last device is freed, and that record still has
the device address of the first device, so if a
different job happens to allocate the first device
after the swap, that legitimate allocation record
appears to overlap the incorrect allocation record of
the job whose tape was swapped.
- When HSM allocates a device for Migration/Recall and
has multiple mounts, and then later the same day HSM
allocates that same device for Backup, two Allocation
records are written (both at end of the Backup), but
the deallocation time for the Migration/Recall event
has the end of Backup timestamp, causing these two
records to overlap.
Change 12.233 Continued enhancement of what will become VMXGSUM, but is
XMXGSUM currently in XMXGSUM for additional parallel testing.
Jan 5, 1995 Parsing now recognizes the syntax of all options on any
data statement. Output variables are created only if the
variable exists in the input data set (so you can now
drop variables from your DB2ACCT and still run ASUMDB2A
to summarize only your kept variables - previously, all
variables named in ASUMDB2A were created in the output,
even when they did not exist in your DB2ACCT dataset).
See discussion in the member.
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.232 Labels for FIXEDAV,CSLPFXAV,LPAFXAV,LSQAFXAV,PRVFXAV,
RMFINTRV SQAFXAV,FIXLOAV,PVTAFCAV now state '...*MAX OF AVERAGE'
Jan 5, 1995 instead of AVERAGE. In summarizing these measures of
real frames, taking the real average of all intervals
results with an un-representative number, because of the
slack intervals. By calculating the maximum value of
the averages for each interval, I think you get a much
more representative value, but I should have also made
it clearer in the label, hence this change.
Thanks to ???, ANHYP NV, BELGIUM.
Change 12.231 Label for variable SM012CPU is now 'CPU*TIME*USED' (it
VMACARB was 'CPU TIME USED*TIMER UNITS'), rather misleading. Any
Jan 5, 1995 MXG variable with a SAS time format has already been
converted from TIMER UNITS into seconds.
Thanks to W. F. Hamilton, Scottish Widows, SCOTLAND.
Change 12.230 Weekly and monthly building of PDBs did not include new
MONTHBLD DB2 dataset DB2STATB, which is now added to both members.
WEEKBLD Note that the DB2ACCT, DB2ACCTB, and DB2ACCTP datasets
Jan 5, 1995 are NOT built in the WEEK/MONTH PDB libraries by default
(because they can be quite large, are detail, and may not
be needed - if you want then in your WEEK/MONTH PDB you
can easily add them yourself in your WEEKBLD/MONTHBLD).
Change 12.229 TELEVIEW datasets contain zero observations because the
VMACTELE initial support was written without any data to test.
Jan 4, 1995 -The INPUT of SUBTYPE should have been &PIB.1. instead of
&PIB.2.
-Replace all occurrences of '?? &NUM.2' with ' &PK.1'
so the HH,MM,SS,and TH fields are correctly input.
-Insert ?? between DATE and &PD4. in seven places.
Thanks to Tom Parquette, MONY, USA.
Change 12.228 ICEBERG status variables CAENBCUR and DFWENCUR in dataset
VMACICE ICEBRGDV are incorrect. The two statements testing each
Dec 30, 1994 of these variables for ='00'x should test for ='01'x.
Thanks to Peter McGill, NRMA, AUSTRALIA.
Change 12.227 MXG 12.03-MXG 12.05 only. VMXGHSM still fails with
VMXGHSM "BCRTBLA HAS ALREADY BEEN DEFINED AS NUMERIC". The text
Dec 29, 1994 of Change 12.112 was correct, but in member VMXGHSM you
must delete the semicolon at the end of the line reading:
LENGTH DEFAULT=4;
Thanks to Solomon Baker, The Prudential Services Company, USA.
Change 12.226 Support for Innovation Processing's IAM user SMF record.
EXTYIAM New dataset TYPEIAM provides statistics on usage and the
IMACIAM efficiency of IAM execution. This implementation keeps
TYPEIAM only the first extent location, but if users need to keep
VMACIAM all extents I will revise the MXG implementation.
Dec 16, 1994
Jan 5, 1994
Thanks to David Ehresman, University of Louisville, USA.
Change 12.225 Support for NETSPY 4.5.
EXNSPYNB -If you have LU 6.2 devices, the NSPYAPPL dataset was
FORMATS incompatibly changed because LU 6.2 devices statistics
IMACNSPY are now captured separately in these 27 new LU 6.2
VMACNSPY variables:
Dec 15, 1994 AINPUTS6 AOUTSZT6 AOUTSZW6 ARSPHOS6 ARSPNET6 ATTCHLU6
CINPUTS6 COTPUTS6 CRSPHOS6 CRSPNET6 NETRSPN6 OUTPUTN6
OVRSPPC6 SESSNO6 TOTRSPN6 TRANSNO6 T1RSPNO6 T1RSPPC6
T2RSPNO6 T2RSPPC6 T3RSPNO6 T3RSPPC6 T4RSPNO6 T4RSPPC6
USERRSP6 WRSPHOS6 WRSPNET6
and the 27 existing similarly-named (but without the "6")
variables will now contain only the statistics for your
non-LU 6.2 devices (previously they contained both).
Note that if you need statistics for totals, you will
need to decompose the ratios, sum the numerator and the
denominator separately, and then recalculate the ratio.
(VMXGSUM handles these "normalized" variables easily!).
-New dataset NSPYNCPB contains 27 variables from the new
NCP Control Block Information record, and new MXG format
MGNSPCB was created for that data.
-For all NETSPY versions, variable NSPCURVS was input as
PIB4 and thus wrong. It is now input as PIB2 and new
variable NSPCURVT='VC-S*ESTABLISHED*THIS SESSION' is
created PIB2 after NSPCURVS.
Thanks to Tim Crocker, Computer Power, USA.
Thanks to Alan Phelan, Allied Irish Bank Group, IRELAND.
Change 12.224 VM/ESA 2.2 Scheduler records cause PROBABLE DATA LOSS
VMACVMXA error message. The second occurrence of SKIP=SKIP-148;
Dec 15, 1994 should be SKIP=SKIP-100; (this is the one 67 lines after
IF MRHDRDM=2 AND MRHDRRC=5 THEN DO; /*VXSCLDDL*/
With this change, MXG tolerates VM/ESA 2.2 data records,
but there are additional fields added by IBM (1.7,1.15,
2.4,2.5,2.6,4.9,4.10) that are not yet decoded. This
text will be revised when documentation has been received
and MXG fully supports VM/ESA 2.2 records.
Thanks to Phyllis M. Parisi, University at Buffalo, USA.
Change 12.223 If the INTERVAL= parameter was entered in mixed or lower
VMXGDUR case, its value was not recognized and an error flagged,
Dec 1, 1994 but the value was then printed in uppercase, making it
quite confusing to diagnose. Now, the UPCASE() function
is used to eliminate the exposure.
Change 12.222 Datasets already using LSR are added to the report, since
ANALBLSR you should periodically review the LSR parameters to be
Dec 1, 1994 sure they are still correct. If the current buffer field
(0 when LSR is in use) is 'LSR' then LSR is already being
used. In addition, if there is a '-' beside the number
of buffers being recommended, then that signifies that a
value of 10 was forced in the report (and there were not
really 10 records in the file). This is done because the
minimum you can specify with BLSR is 10 (a lesser value
will cause a JCL error!). The '-' will usually appear on
the index component of a file. If there is a '+' next to
the number of buffers then the recommended setting
reflects the limit applied by the MEMSIZE parameter and
the EXCP count is greater than 20% of the number of
physical records in the file. In this case, sometimes
more buffers can be effective, and you may want to try
higher values. In one case, a file with 400,000 EXCPs
against the data component was reduced to 18,000 by using
BUFND=2000 and HBUFND=7500 (32m of hiperspace buffers),
and this one change reduced the run time from 2.5 hours
to 45 minutes!
Thanks to Phil Henninge, Timken Company, USA.
Change 12.221 FACOM AIM type 117 SMF record causes INPUT STATEMENT
VMACAIM7 EXCEEDED RECORD or ARRAY SUBSCRIPT OUT OF RANGE because
Nov 28, 1994 the INPUT of NUMSUBRG &PIB.4. should have been &PIB.2.
Thanks to Ian Heaney, Toyota Australia, AUSTRALIA.
Change 12.220 DB2 Package Accounting should be an SMF ID=101,SUBTYPE=1
VMACDB2 record, but that IFCID=239 record was originally written
VMAC102 as an ID=102 record. IBM tried to correct the error in
Nov 28, 1994 APAR PN56441, which did change the ID from 102 to 101,
Jan 12, 1995 but the subtype was still a zero, so APAR PN63234 now
corrects both ID and SUBTYPE. This MXG change detects
the uncorrected record and tells you you need to install
the APARs, and deletes the package record.
Pending installation of the APARs, you can use this
program to read your SMF file and to create a new
copy with the bad type IFCID=239 records corrected:
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_;
_SMF;
FILE SMFOUT DCB=SMF;
IF (ID=101 AND SUBTYPE=0) OR ID=102 THEN DO;
INPUT @25+OFFSMF OFFPROD &PIB.4.
@29+OFFSMF LENPROD &PIB.2.
@31+OFFSMF NRPROD &PIB.2.
@;
OFFPROD=OFFPROD-3+OFFSMF;
LENLEFT=LENPROD;
%INCLUDE SOURCLIB(VMACDB2H);
IF QWHSIID=239 THEN DO;
ID=101;
SUBTYPE=1;
PUT _INFILE_ @2 ID PIB1. @19 SUBTYPE PIB1.;
END;
ELSE PUT _INFILE_;
END;
ELSE PUT _INFILE_;
Thanks to Joseph L. Schwartz, CIGNA, USA.
Thanks to Jeff Marsh, Twentieth Century Services, USA.
Change 12.219 STK ICEBERG records may cause "INFORMAT $PIB UNKNOWN" of
VMACICE "INFORMAT CHAR UNKNOWN", only if ICEBERG SMF records are
Nov 22, 1994 processed with other SMF records (e.g., if you use EXPDB
exits to add ICEBERG processing to your PDB library),
because variable VERSION in VMACICE is numeric, but it is
character in other MXG datasets and variable FLAG1 is
character in VMACICE but numeric elsewhere. Change the
variable name VERSION to ICEVERS and the variable name
FLAG1 to ICEFLAG1 and the conflict is avoided. I will
also revise my Q/A process to better detect this class of
conflicts (actually, VERSION conflict was detected but I
missed reading it - FLAG1 was not detected because it is
kept only in ICEBERG datasets and conflicted with an MXG
temporary variable, and my Q/A stream was not robust enuf
to cover that possibility!).
Thanks to Diane Eppestine, Southwestern Bell, USA.
===Changes thru 12.218 were included in MXG 12.05 dated Nov 20, 1994===
Change 12.218 This redesign of VMXGSUM now keeps only the variables
XMXGSUM that are found in the input dataset (plus those created
Nov 20, 1994 in the INCODE= logic). Previously, to prevent a failure
in the PROC MEANS, VMXGSUM created all variables that
appeared in any of its arguments, but if you used IMACDB2
to drop variables in your DB2ACCT dataset (to reduce its
size), and then you used ASUMDB2A (which invokes VMXGSUM)
to summarize, all of those dropped variables that were
listed in the SUM=, MIN=, etc., arguments in ASUMDB2A
would have been recreated (with missing values) in your
output dataset! Now you can tailor your datasets with the
_K macro in the IMAC member and use existing MXG
ASUM/TRND members to summarize only the variables that
you kept. This version only supports lists of variables
with single digit suffixes (CPU0-CPU9 works, but
CHAN01-CHAN99 will not have all 99 variables created).
The complete support for arbitrary lists will be in MXG
12.06, but none of the ASUM/TRND members in MXG contain
double-digit suffixes, so the exposure is extremely
remote. Because of this limitation, the new logic is in
a separate member named XMXGSUM, so you pioneers can help
test before I make the optimized version the default.
Simply copy XMXGSUM into your USERID.SOURCLIB library and
rename it to be VMXGSUM and you will exploit this
optimization. Note that if it ever becomes necessary to
revert to the original design, you can specify new
argument KEEPALL=YES to create all variables.
See also Change 12.233.
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.217 GRAFDB2 failed with TRNDDB2A data as input, because the
GRAFDB2 graphs used QWACESC (end time) instead of QWACBSC (start
Nov 20, 1994 time), which is what is used in TRNDDB2A to summarize.
All occurrences of QWACESC were thus changed to QWACBSC.
Thanks to Tom Elbert, John Alden, USA.
Change 12.216 If your requested only report PMSQL01 with PDB=SMF, the
ANALDB2R report failed (and the type of failure depended on which
Nov 20, 1994 version of SAS you were using). Requesting other trace
reports, or using READDB2 first and then ANALDB2R with
PDB=PDB will circumvent the logic error fixed here.
Thanks to Dan Null, Caterpiller Tractor, USA.
Change 12.215 Coding in progress as MXG 12.05 was to be built.
EXTY123 Support for S/390 Parallel Query Server (SPQS) type 123
EXTY123B SMF record. The segments are from DB2ACCT, but not all
IMAC123 of the fields are exactly the same, and time ran out
TYPE123 before I could finish validation. There's a remote
VMAC123 chance it will work, but I doubt it, and I do need test
Nov 20, 1994 data before I can claim support for the new accounting.
Nov 21, 1994 I listed SPQS as supported to attract test data!
Check with Tech Support before you use this support, and
this note will be revised when support is validated.
Update: Nov 21, 1994:
The MXG 12.05 support assumed there was a QWHS section,
and that header had a release value greater than 2.3, but
the IBM DSECT implies QWSH is reserved. Thus MXG may
need an inserted line after the INCLUDE of VMACDB2H with:
QWHSRELN=3.0;
to fake out the rest of the MXG code. I have revised the
VMAC123 member to remove any dependency on QWHSRELN and
streamlined the code, but structurally I still believe
that the MXG 12.05 code is okay. Again, I will revise
this text when I get my hands on a real type 123 record!
MXG 12.06 note: still no validation of this support.
Thanks to Majid Abai, Southern California Edison, USA.
Change 12.214 Analysis of Tape allocation has been revised so a tape
ASUMTALO drive is only counted once per interval. (Previously, if
TRNDTALO two jobs used the same tape drive in the same 15-second
Nov 19, 1994 interval, we counted that one instance twice, which could
cause the maximum tape drives in use to be greater than
the number of installed drives.)
You can also specify is the statistics are created for
each SYSTEM, or across all system with a new macro.
Change 12.213 New exit IMACUCB allows you to change the value of MXG
IMACUCB variable DEVICE in TYPE8911,TYPE10,TYPE1415,TYPE19,TYPE21
VMACUCB TYPE62,TYPE64,TYPE74,TYPE74,TYPE8911 members, and in data
Nov 19, 1994 set TYPE30_D observations. This is especially useful in
analyzing MXG Tape Mount and Tape Allocation statistics,
because MXG cannot tell an Autoloader from a Silo from a
Cartridge Tape device; however, you know which range of
device addresses are which, and could create values of
DEVICE='SILO' or DEVICE='AUTOLOD'
in this new exit, and then automatically your reports
from ANALTMTN,ANALTALO, etc., will be grouped and summed
by subsets of your tape devices!
Change 12.212 Support for CA/SQL's user SMF record appears to already
VMACIDMS have been in MXG - the Performance Monitor records from
Nov 18, 1994 CA/SQL are identical to the IDMS Performance Monitor's
SMF records, except that the version identifier (SMFHVER)
now contains 1200 (presumably for 12.0.0, since the prior
version IDMS 10.2.1 SMF records have the value 1021!).
Thanks to Greg Caliri, The Shareholder Services Group, USA.
Change 12.211 ACF2 variable ACPMFWHY (Reason Code) should have been
VMACACF2 FORMATed HEX2., and its label now indicates hex
Nov 18, 1994 instead of binary.
Thanks to Warren Hayward, TJX, USA.
Change 12.210 Support for Sterling Software's ASM V3.0.0 SMF type 39
VMAC39 record - their records conform to IBM's format and are
Nov 17, 1994 processed without error, including the subtype 255.
Thanks to Bob Berwick, UNIPAC, USA.
Change 12.209 Support for SMF type 116 MQM 1.1.2 Accounting record
EXTY116 creates one new dataset:
IMAC116 MQMACCT - MQM Accounting Data
TYPE116 The CPU time and counts of GETs and PUTs in four message
VMAC116 sizes (0-99,100-999,1000-9999,over 10000) are provided,
Nov 17, 1994 and the NETSNAME/UOWTIME fields are decoded from QWHCTOKN
so that specific MQM events can be matched with their
CICS or IMS transaction. Note that IMS can cause more
than one MQM record, which must be summed to accurately
provide correct totals for the IMS application.
This code has been hand checked with the hex dump printed
in the MQM System Management Guide, SC33-0806-01, which
provides a good overview of IBM's new Message Queue
Manager design and function.
Change 12.208 Support for SMF type 115 MQM 1.1.2 Statistics record
EXTY1151 creates three new datasets:
EXTY1152 MQMLOG - Subtype 1 Log Manager Statistics.
EXTY115B MQMMSGDM - Subtype 2 Message, Data Manager Statistics.
IMAC115 MQMBUFER - Subtype 2 Buffer Statistics for each Pool.
TYPE115 These statistics provide performance statistics, and the
VMAC115 Chapter 6 of SC33-0806-01 even provides guidelines for
Nov 17, 1994 interpreting and using these MQM statistics.
Change 12.207 SUBTYPE in SMF type 115 and 116 records is only one byte,
VMACSMF (instead of the normal two-byte field), so VMACSMF is now
Nov 17, 1994 modified to input SUBTYPE for this anamoly.
Change 12.206 Support for HSM APAR OW05988, which adds HSM CPU time and
VMACHSM management class name, using existing reserved fields so
Nov 17, 1994 the change was compatibly made. FSRCPUTM &PIB.4.2 now
replaces the +4 reserved area following FSRFLG2, and now
FSRMGCLN &PIB.2. FSRMGTCL $EBCDIC8. +18 replaces the +28
reserved area after FSRTRKKW. The APAR text makes no
mention of what CPU time is captured in the new field!
Variables FSRCPUTM and FSRMGTCL were added to datasets
HSMFSRST and HSMFSRTP.
Thanks to Lawrence Jermyn, Fidelity Systems Company, USA.
Change 12.205 TYPE42DS observations for VIO datasets can be recognized
VMAC42 because DEVNR=3FFFx, and most of the I/O counts/durations
Nov 16, 1994 are trash (i.e., non-zero values, but not valid either),
so now they are set missing, and new variable S42VIO is
set to "Y" to flag observations that are for VIO.
Thanks to James Purdie, Banc One Services Corp., USA
Change 12.204 For jobs which only have a type 6 SMF record, variable
BUILDPDB TYPETASK was blank in dataset PDB.JOBS. To correct, the
BUILDPD3 variable was added to the _PDB6 macro definition in
BUILD005 IMACPDB, and the variable was added to the ID= statement
IMACPDB with the PROC MEANS DATA=PRINT in members BUILDPDB,
Nov 16, 1994 BUILDPD3, and BUILD005.
Thanks to Kenneth D. Jones, SHL Systemhouse, CANADA.
Change 12.203 Support for Omegamon for CICS V300 user SMF record. The
VMACOMCI version is incompatible, as new subtypes replace old ones
Nov 14, 1994 and new variables are created in existing datasets, but
there are no new datasets. In addition, many existing
variables' formats were validated and corrected.
Now, MXG supports Omegamon for CICS Versions 550 and 551,
and Omegamon for CICS/ESA Versions 100 and 300. There
were no changes to the type 110 SMF record in V300.
Change 12.202 This CICS utility now identifies if your type 110 records
UTILCICS are actually Omegamon records (which require tailoring in
Nov 12, 1994 member IMACEXCL), which optional IBM and/or Omegamon data
segments are tacked on the base record, and which PTFs in
member IMACPTF must be updated for your sites records,
and you no longer have to go thru the detail reports and
match up fields - two simple PROC PRINTs tell all!
Note: 2010: SEE MEMBER UTILEXCL instead of UTILCICS.
Change 12.201 Support for NPM 2.2 has now been validated with real data
FORMATS for the new NPMVSaaa datasets, with these corrections:
VMAC28 -NPMVSVAD dataset: INVALID ARGUMENT TO FUNCTION INPUT and
Nov 12, 1994 variable VADSTIME is missing, because the VADSTIME=DHMS..
statement had the date and time variables reversed (1st
is VADSDTEX, then VADSTIMX). Also, variable NPMNAME was
incorrect because the two references to LSCDROFF inside
the VAD processing should have been LVCDROFF.
-NPMVSVAP dataset: VAPACTIM was trashed because it was not
documented as a datetimestamp value. VAPSECNA was trash
because it should be formatted with $HEX6. VAPDSTAT and
VAPSTATU were wrong because both had VAPCSTAT in their
percentage calculation instead of themselves.
-NPMVSVBF dataset: VBFUSER is now input as $EBCDIC8 vice
&PIB.4., and VBFAVLBF & VBFBFEXT are &PIB.2. instead of
&PIB.4. (which caused VBFPGEXT,VBFNREQ,VBFMXREQ to be
trashed, as the preceding errors messed the alignment!).
-NPMVSVDV dataset: Most variables were trashed, because I
failed to input VDVNNMAE ($EBCDIC8.) after VDVSCNAM, and
I input VDVLNKST as &PIB.4. instead of &PIB.1., and the
+4 at the end of the first input should not be there.
-NPMLUCON dataset: NCPRLSE should have been input $EBCDIC8
instead of &PIB.4, trashing NCPNEWNM and NCPGENLV.
-NPMNWCWC dataset: Most variables were trashed, because
the reserved field in the NWC section after REVL should
have been +2 instead of +1.
-All other datasets new with NPM 2.2 appear to be valid,
and the above errors had no effect on earlier NPM data.
-Minor, but some subtype values (NPMSUBTY) were not in the
MG028TY format, but now they are.
Thanks to Mr. Robbiany, Comitsiel S.p.A., ITALY.
Change 12.200 -New dataset TYPE72SC, for MVS/ESA 5.1+ in Goal Mode, is
BUILDPDB now created to keep track of the Service Classes that are
BUILDPD3 served by each MVS Server, and new variable SERVER was
EXTY72SC added to existing dataset TYPE72GO to identify the
IMAC7072 service classes that are servers. Don Deese's CPExpert
RMFINTRV is the best tool that I know that exploits all of the new
WEEKBLD data when the Workload Manager is in Goal Mode, and Don
WEEKBLDT found that these datasets enhance his ability to identify
MONTHBLD the cause of many of the delays marked as UNKNOWN in IBMs
Nov 11, 1994 new data. Give Don a call at 703 971 4497 for more info.
-The PDB-Building members were updated to create the new
PDB.TYPE72SC dataset, and in adding that dataset to the
weekly build members, I discovered that I had failed to
add several new PDB datasets to WEEKBLD/WEEKBLDT, and
also found WEEKBLD and WEEKBLDT were not synchronized.
Now, all MXG datasets built by default by JCLPDB6 will
also be built in the Weekly and Monthly datasets as well.
-MXG 12.04-only, a debugging statement IF OFFWRS GT . THEN
PUT OFFWRS= LENWRS= NRWRS=; was also deleted.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 12.199 Type 6 SMF record INVALID ARGUMENT TO FUNCTION INPUT is
VMAC6 caused by CA-DISPATCH SMF records that have overwritten
Nov 10, 1994 the date-part of READTIME with 'EE'x. While the real fix
is to get CA-DISPATCH corrected, MXG added an attempted
fix-up back in Change 11.342, but while the text of that
change was correct, the code I implemented from my own
change finger faulted! The two occurrences that read
SUBSTR(READCADI,1,1) must be SUBSTR(READCADI,5,1)
(because the date starts in byte 5, not byte 1!).
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.198 Support for InfoAccess Release 5.1 user SMF record from
EXTYODSE Network Imaging Systems Corporation adds two new datasets:
EXTYODSP ODSCMSPU - CMS (Controller Managed Storage) Report Purge
IMACODS ODSCMSRE - CMS Recache - copy report from optical to CMS
VMACODS and the ODSDEVIC optical device statistics variables were
Nov 10, 1994 completely changed and revised with durations and counts.
InfoAccess is a high-speed, high volume report storage and
retrieval system that takes character-based reports and
compresses and indexes the reports on optical platters and
in RAID arrays. Previously, the company was named Laser
Access Corporation, and the product was the LA1500 Optical
Data System, which accounts for the acronym "ODS" for this
product. The Release 5.1 records are incompatibly with
the previous records, so you will require this change.
Change 12.197 -APAF INPUT STATEMENT EXCEEDED RECORD LENGTH occurs when
VMACAPAF a channel record does not contain channel type and mode.
Nov 10, 1994 Insert after input of CHPIDBSY the statement:
@; IF LENCHPID GE 12 THEN INPUT
-APAF INVALID DATA FOR IOCDSLNO occurs when there is no
IOCDS information in the record; a value of '00'x is not
valid for a field input with &NUM.1. Insert a double
questionmark in its input: IOCDSLNO ?? &NUM.1. to
suppress the error message and associated record dump.
Thanks to Willie Antman, Federal Deposit Insurance Corporation, USA.
Change 12.196 Calculation of variables AOUTSZT and ARSPNET in NETSPY
VMACNSPY dataset NSPYLU were changed by NETSPY, but I did not know
Nov 9, 1994 about the changes until this user diligently validated my
calculations with NETSPY's reports.
-The AOUTSZT= calculation should have divided by TRANSNO
(the number of transactions) instead of NETRSPNO (the
number of transactions with measured response times)
-The ARSPNET value calculated by MXG was missing if the
NETRSPNO was zero, but the NETSPY logic now looks to see:
if more than half of the transactions had a measured
response; if not is the new bit in LUFDRSEQ flagging that
the value in LRSPNET is the calculated ARSPNET value, or
if not, then use the only data available to calculate the
average network response. The new section of code in the
MXG logic for NSPYRECs S, T, and U now reads:
IF TRANSNO GT 0 THEN DO;
AINPUTSZ=CINPUTSZ/TRANSNO;
AOUTSZT=COTPUTSZ/TRANSNO;
END;
ELSE DO;
AINPUTSZ=.;
AOUTSZT=.;
END;
IF NETRSPNO GE .5*TRANSNO AND TRANSNO GT 0
THEN ARSPNET=CRSPNET/TRANSNO;
ELSE IF LUFDRSEQ='...1....'B THEN ARSPNET=LRSPNET;
ELSE IF TRANSNO GT 0 THEN ARSPNET=CRSPNET/TRANSNO;
ELSE ARSPNET=.;
IF LUNRSPSS GT 0 THEN ARSPHOST=CRSPHOST/LUNRSPSS;
ELSE ARSPHOST=.;
IF OUTPUTNO GT 0 THEN AOUTSZW=COTPUTSZ/OUTPUTNO;
ELSE AOUTSZW=.;
IF NETRSPNO GT 0 THEN DO;
/* calculation of ARSPNET, AOUTSZT was originally here */
IF SESSMGR='N' THEN DO; /* DONT CALC TARGET FOR ....*/
... original code ...
and then the two subsequent occurrences of
ARSPNET=.;
were deleted.
Thanks to Wendy Gan, Malayan Banking Berhad, MALAYSIA.
Thanks to Ms Foo Hooi Ping, Maybank, MALAYSIA.
Change 12.195 When WEEKBLD was corrected by Change 11.206, the same fix
WEEKBLDT was not applied to WEEKBLDT, causing TAPEMNTS NOT SORTED
Nov 7, 1994 error. The correct list for dataset TAPEMNTS is:
SYSTEM SHIFT DEVICE TMNTMTYP TMNTTIME
Additionally, %INCLUDE SOURCLIB(EXPDBWEK) was also added
to make WEEKBLDT consistent with WEEKBLD.
Thanks to Gavin Ring, ALCATEL Australia, AUSTRALIA
Change 12.194 3990-6 Cache RMF Reporter storage variables CNCONF,CSCONF
VMACACHE CSAVAIL,CSOFFL,CNPINNED and CSPINNED are in K-bytes in
Nov 7, 1994 the SMF record (while for all other devices, the values
were in bytes!). As a result, those six variables are
now multiplied by 1024 inside the nested DO groups for
IF REPORLVL GE 1.6 ... and IF CACMODEL EQ 06X ...
(so they will be printed correctly with MGBYTES format).
Thanks to Russ Weid, CUNA Mutual Insurance Group, USA.
Change 12.193 Type 6 variable SUPGROUP is now added to PDB.PRINT, as
IMACPDB the destination group name has been found necessary for
Nov 7, 1994 print accounting; macro _PDB6 now includes SUPGROUP.
Thanks to Russ Weid, CUNA Mutual Insurance Group, USA.
===Changes thru 12.192 were included in MXG 12.04A dated Oct 23, 1994==
Change 12.192 SMS Data Class, Storage Class and Management Class fields
VMAC42 can only be 8 bytes, even though many records contained
VMAC60 30-byte areas for these fields. This change changes all
VMAC6156 inputs in all datasets to be length 8, so that the stored
VMACDCOL size of the datasets containing these SMS constructs will
VMACOMSM be minimized. (While some of these variables are named
VMACVVDS consistently as DATACLAS, STORCLAS, MGMTCLAS, there are
VMXGHSM many variant spellings when I instead used the field name
Oct 23, 1994 in the DSECT as the variable's name.)
Change 12.191 Support for Landmark's The Monitor for MVS, TMON/MVS 1.3.
EXTMVCC The new version is incompatible because new subtypes now
EXTMVCD replace old ones, so some existing datasets will have no
EXTMVCF observations; however, MXG will not fail with new records
EXTMVCH and some records (notably the system record) are still
EXTMVCI processed successfully (albeit without new data added at
EXTMVCP the end of the old record!).
EXTMVCS Many new datasets are now created, some from new subtypes
EXTMVDV and some from existing subtypes the MXG did not support.
EXTMVIT The comments in member VMACTMVS identify which datasets
EXTMVIX are created from which subtype. Some subtypes are not
EXTMVJD yet decoded because the DSECT was not provided, and some
EXTMVJDA were not decoded because no test data was provided, but
EXTMVJDD Landmark provided both data and DSECTs for the important
EXTMVJDI subtypes, so the new support has been tested with data,
EXTMVJDO and its been out on the street for months with no report
EXTMVJDR of any problems (but I doubt any power user has attacked
EXTMVJDS each and every record type). Some testing notes:
EXTMVJDT JDCPRES - large negative value for CSTORE residency
EXTMVLC JDJTCBS - unreasonable (327,680) count of TCBs
EXTMVMD and will update this note when I know more.
EXTMVML
EXTMVSG Note: this change was in-progress in MXG 12.04A, and
EXTMVXI existing datasets had new variables added, but the new
IMACTMVS dataset decoding and validation was not added until MXG
VMACTMVS 12.05, which is the minimum level for TMVS 1.3.
Nov 15, 1994
Change 12.190 TCP/IP Port addresses were stored in character variables
VMACTCP with hex format (TCP/FTP/API-LCL/RMT-PO), but I now know
Oct 21, 1994 they really are decimal numbers, so I have created new
numeric variables (TCP/FTP/API-LCL/RMT-PN) and the label
for the sets of variables indicated whether the Port
Address is Hex (old PO variables) or Decimal (new PN's).
Also, variables APILCLAD/APIRMTAD are now format $HEX8.
Thanks to David Ehresman, University of Louisville, USA.
Change 12.189 CICS 3.2.1 only. Statistics dataset CICDS duration
VMAC110 variables with suffix TWT,TDT,TCT,ACT,SWT,SCT and prefix
Oct 21, 1994 DSG,DS2, or DS3 were incorrectly converted. In the 18
lines preceding SKIP=SKIP-216;, make the variable name
on the right hand side of the equal sign match the name
on the left.
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.188 MXG 12.04 only. Type 28 INPUT STATEMENT EXCEEDED error
VMAC28 preceded by INVALID DATA FOR IF message occurs because a
Oct 21, 1994 line was dropped. Insert a line with @; immediately
preceding IF LENAOF GE 128 THEN and this error will
go away. In addition, this error discovered the new date
time stamp SYNCTIME at the end of the NAD section, which
is now captured by MXG.
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.187 NPM type 28 NVV section caused CONVERSION note on the log
VMAC28 and incorrect value for flag variables LNVVCACH,LNVVREMV,
Oct 21, 1994 and LNVVMOUN, because the three variables tested should
have been suffixed with "X". That is, change:
IF LNVVCACH GT 0 THEN LNVVCACH='Y';ELSE LNVVCACH=' ';
IF LNVVREMV GT 0 THEN LNVVREMV='Y';ELSE LNVVREMV=' ';
IF LNVVMOUN GT 0 THEN LNVVMOUN='Y';ELSE LNVVMOUN=' ';
to read:
IF LNVVCACX GT 0 THEN LNVVCACH='Y';ELSE LNVVCACH=' ';
IF LNVVREMX GT 0 THEN LNVVREMV='Y';ELSE LNVVREMV=' ';
IF LNVVMOUX GT 0 THEN LNVVMOUN='Y';ELSE LNVVMOUN=' ';
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.186 Candle Omegamon for VTAM V160 incompatibly changed their
VMACOMVT user SMF record, causing MXG error messages and possible
Oct 20, 1994 looping. A four byte field was expanded to eight bytes
in the middle of the exception record (to store VTAM NODE
name), requiring extensive recoding in MXG; however, you
can partially circumvent the error by inserting:
IF NASMFPVN GE 'V160' THEN INPUT @LOC+60 @;
immediately before the statement:
%%INCLUDE SOURCLIB(EXOMVEXC);
With that circumvention, the looping will not occur, and
the rest of the OMVTxxxx datasets will be valid, but the
OMVTEXCE dataset will still be trashed until you install
the new MXG version. What's really ludicrous about their
incompatible change (and its unnecessary abuse of your
time to install a new version of MXG) is that there was
no need for the incompatibility - there are two other
areas, one of 12 bytes, one of 16 bytes, which could and
should have been used to store the Node Name compatibly!
Thanks to John Astle, National Australia Bank, AUSTRALIA.
Change 12.185 Batch LSR analysis may report no candidates due to logic
ANALBLSR error, if the last observation in DSETOPEN did not meet
Oct 20, 1994 the subsetting IF criteria. The subsetting IF statement
IF TYPETASK=:'JOB' AND ACCESS=:'VSAM' ... etc
must be replaced with this logic:
IF NOT (TYPETASK=:'JOB' AND ACCESS=:'VSAM' AND
(LSRSTAT='Y' OR LSRSTAT='?')) THEN DO;
IF EOF THEN CALL SYMPUT('CANDIDAT',CANDIDAT);
DELETE;
END;
Thanks to Paul Hill, Midland Bank, UK.
Change 12.184 NETSPY Token-Ring Dataset NSPYTR variable TIC_UTIL was 10
VMACNSPY times too large (the convert nanosec to microsec was
Oct 20, 1994 off by 1000, but conversion to percent was off by 100!).
In addition, the old equation used IFRAMESS/IFRAMESR to
calculate TIC_UTIL (because that's what LEGENT used in
its on-line display), but now LEGENT PTF 71565 corrects
their on-line calculation using TRTFRAMS/TRTFRAMR instead
of just I-Frames (so their on-line reports match their
batch reports), so now the MXG calculation agrees with
the LEGENT calculation with that PTF. The correct MXG
equation (in 2 places) is now:
TIC_UTIL=100*
((((BYTSENT*TRTPBYTS)+(BYTRECV*TRTPBYTR))/1000000000)+
(((TRTFRAMS*TRTPFRMS)+(TRTFRAMR*TRTPFRMR))/1000000))
/DURATM;
Thanks to Janice Radel, General American Life Insurance Co., USA.
Change 12.183 Change 11.201 intended to change the spelling of variable
VMAC90 NEWDSN to NEWDSNSM in TYPE90, but it was misspelled as
Oct 19, 1994 NEWSDNSM. It is now correctly spelled NEWDSNSM.
Thanks to Graeme Yeandle, British Telecom, UK.
Change 12.182 UTILCICS fails with syntax error, because line 342 is a
UTILCICS /* */ line which prematurely terminates the comment
Oct 19, 1994 block around the new text. Delete that line and UTILCICS
will execute. Read the comments and you can understand
how to use the output to diagnose MXG error messages in
in your CICS type 110 SMF records.
Thanks to Norbert Korsche, OMV, AUSTRIA.
Change 12.181 MXG 12.03 added dataset PDB.TYPE30_6 to the PDB, but the
BUILDPDB actual change was not noted in member CHANGES. While not
Oct 19, 1994 usually needed, it was added to the PDB for completeness,
since resources for tasks which start before SMF has come
(called "early address spaces" like CATALOG, PCAUTH, GRS,
ALLOCAS, etc.) may have their resources recorded in the
TYPE30_6 instead of TYPE30_V (and since these ASIDs are
not normally terminated, even at shutdown, there may not
ever be a TYPE30_4 record written for them).
Thanks to Norbert Korsche, OMV, AUSTRIA.
Change 12.180 Type 42 subtype 5 (TYPE42SR) and subtype 6 (TYPE42DS)
VMAC42 variables STARTIME/ENDTIME can be erratically wrong. The
Oct 19, 1994 timestamps are in GMT instead of LOCAL if TIMEZONE has a
Nov 9, 1994 non-zero GMT offset specified in SYS1.PARMLIB(CLOCKnn),
(but SMFTIME is always on the LOCAL clock). For the
TYPE42SR and for the TYPE42DS INTVCLOS=0 (CLOSE) records,
MXG did not attempt to convert to GMT, so the only error
in those records was that the STARTIME/ENDTIME are GMT.
However, MXG did use the difference between SMFTIME and
ENDTIME for the TYPE42DS INTVCLOS=1 (INTERVAL) record to
determine the GMT offset and then convert START/ENDTIME
to LOCAL, but I now have data to prove it is impossible
to convert, because the SMF record timestamp can be many
hours later than the end of interval (for swapped out
tasks, the SMF record is not timestamped until the task
swaps back in!).
(In MXG 12.04A only, I actually added GMT conversion
logic to the INTVCLOS=0 in TYPE42DS and in TYPE42SR,
but now this revised change removes conversion of GMT
to local for all type 42 subtypes. Until IBM gives
us a GMT offset in these records, MXG cannot convert
GMT to local in any safe fashion. In addition, some
site's data show SMF42PTE later than SMFTIME, which
really messes up any conversion algorithm, so the
only safe strategy is to leave the timestamps in GMT
as provided by IBM - you, knowing your own GMT offset
must then convert STARTIME/ENDTIME back to LOCAL in
your report programs using TYPE42SR or TYPE42DS.)
See also the MVS Technical Notes for additional type
42 problems and concerns.
P.S. APAR OW05631 added the DEVNR and VOLSER to TYPE42DS.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.179 SAP Accounting record under IMS was not properly decoded.
VMACIMS Change the INPUT of SAPTIMTR from "TU4." to "&PIB.4.3",
Oct 19, 1994 change SAPCPUT (three times) and SAPELTI (once) from
"&PIB.4.1" to "&PIB.4.3". Also, the HH, MM, SS and TH
fields used for construction of SAPTIME probably need to
be changed from "&PIB.1" to "&PK.1", but that has not yet
been validated with a hex dump of a record.
Thanks to ???, SJ ECONOMISERVICE, SWEDEN.
Thanks to Boerje Edlund, SAS Institute, SWEDEN.
Change 12.178 Cosmetic, but avoids confusion. Variable CPUTM is now
RMFINTRV labeled consistently as "TOTAL*CPU TIME*CAPTURED" in all
VMAC30 of the SMF/RMF datasets created by MXG. Previously, it
VMAC32 had different labels to describe its contents (TCB+SRB in
VMAC434 some records, TCB+SRB+HPT+... in RMF, etc.) but when you
VMAC435 mixed SMF records (like in BUILDPDB) you ended up with an
VMAC7072 inaccurate label. To know the components of CPUTM in a
VMACDB2 particular record, read the ADOCxxxx description.
VMACORAC
VMACTSOM
Oct 19, 1994
Thanks to Waldemar Schneider, SAS EUROPE, GERMANY.
Change 12.177 Archaic Landmark 1.7 only. Variable STARTIME in MONIDBDS
TYPEMONI was missing, because its creation (five lines, starting
Oct 18, 1994 with IF CREATIME and ending with RESPONSE=) should have
been located immediately after APPLID=SYSID; statement.
Thanks to Warren Tanaka, Farmers Insurance Group, USA.
No Changes while attending Italian CMG meeting in Venice!
Change 12.176 MXG 12.04 only. INTERVAL=SHIFT, should be INTERVAL=WEEK,.
TRNDTALO No test data was available when the trending member was
Oct 3, 1994 written; test data exposed the error.
Change 12.175 MXG 12.04 only. Tape unload with IEBUPDTE has return
ANALTMDB code of 4, a note that ANALTMDB has no lines, and there
Oct 3, 1994 are 2396 members unloaded (instead of the expected 2379)!
This does not really cause a problem, but the error is
because member ANALTMDB contains an unloaded PDS, but I
failed to change the "./" IEBUPDTE control statements to
"XY", in my source PDS, so they were propagated into the
tape, and so when IEBUPDTE unloaded the tape, those "./"
caused members (all starting with RTMD) to be created!
Changing the "./" in my ANALTMDB to XY avoids the error,
but you need to take no action.
Change 12.174 MXG 12.04 only. Variable QWACLOCN that was added to the
VMACDB2 DB2ACCTB dataset by Change 12.169 should have been
Oct 3, 1994 spelled QLACLOCN. The text of 12.169 was changed in MXG
12.04A to avoid further confusion.
Change 12.173 MXG 12.04 only. New NPM dataset NPMLINE did not have all
VMAC28 of the variables it should have, due to spelling error.
Oct 3, 1994 Change the one occurrence of _VA28NLF to _VA28NLV to fix!
Change 12.172 A sample report using Amdahl's APAF records (TYPEAPAF)
ANALAPAF that sums MDF domain busy to provide a total platform
Oct 3, 1994 busy is added by this user contribution. Note that the
report code requires the number of real engines so that
it can calculate correctly.
Thanks to Will Evans, NIKE Information Services, USA.
Change 12.171 Cosmetic changes. In members VMAC110,VMAC74,VMACSTX, and
EXTY99U2 VMACTMNT "3TH" was changed to "3RD". In EXTY99U2 the
VMAC110 comment was corrected to TYPE99_2, and in member VMACTLMS
VMAC74 the missing "%%INCLUDE SOURCLIB(EXTYTLMS);" statement was
VMACSTX added at the end (but its absence caused no error, as
VMACTLMS there is only one dataset in the DATA statement!).
Oct 3, 1994
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.170 MXG 12.04 only. The last twelve lines (starting with
ANALCISH "options ..." in lower case) must be deleted; this was a
Oct 1, 1994 testing invocation within the member that doesn't belong!
Changes thru 12.169 were included in MXG Version 12.04 dtd Sep 30, 1994
Change 12.169 DB2 3.1 detail buffer counts by pool/plan in DB2ACCTB has
ASUMDB2A variables QWACBSC, QWACESC, and QLACLOCN added to its
ASUMDB2B KEEP= list in VMACDB2, so that new summary and trending
TRNDDB2A members ASUMDB2B and TRNDDB2B could be added to MXG. In
TRNDDB2B addition, variables QWACPKGN QLACRRRC and QLACRRSE were
VMACDB2 added to the SUM= operand in existing ASUMDB2A/TRNDDB2A
Sep 29, 1994 to support future report enhancements.
Change 12.168 Support for CA's TELEVIEW user SMF record creates three
EXTELEAP new datasets:
EXTELESH TELEAPPL - TELEVIEW Application Logon/Logoff
EXTELETE TELETERM - TELEVIEW Terminal Logon/Logoff
IMACTELE TELESHUT - TELEVIEW Shutdown.
TYPETELE See Change 12.229 update.
VMACTELE
Sep 29, 1994
Thanks to Tom Parquette, MONY, USA.
Change 12.167 Omegamon/CICS V551 SMF record INVALID DATA FOR EXMXT1-10
VMACOMCI occurs when those supposedly packed decimal fields have
Sep 29, 1994 hex zeroes! Each occurrence of &PD. is now preceded by
the double question mark modifier to suppress the message
and the hex dump of the offending record.
Thanks to Sudie Wulfert-Schickedanz, Edward D. Jones, USA.
Change 12.166 Support for CICS/ESA 4.1.0 is added by this change.
EXCICDL3 The changes are compatible, except that new Statistics
EXCICFEC Subtypes will generate messages on the SAS log if you
EXCICFEP do not have MXG 12.04 or later installed.
EXCICFET
EXCICPGG 1.Major enhancements to the CICSTRAN dataset include:
EXCICUSG a. Of real significance, nine new sets of counts and
EXCICXMC durations of long-wanted delays and waits:
EXCICXMG DSPDIOcn/tm - First Dispatch Total Count/Delay
EXCICXMR ENQDIOcn/tm - KC Enqueue Delay Count/Duration
IMACCICS LU61IOcn/tm - LU 6.1 I/O Wait Count/Duration
VMAC110 LU62IOcn/tm - LU 6.2 I/O Wait Count/Duration
Apr 28, 1994 MXTDIOcn/tm - First Dispatch MAXTASK Delay Cnt/Dur
May 17, 1994 RMISIOcn/tm - RMI Suspend Count/Duration
Jun 3, 1994 RMITIOcn/tm - RMI Elapsed Count/Duration
Jun 23, 1994 SZWAIOcn/tm - FEPI Suspend Count/Duration
Jun 30, 1994 TCLDIOcn/tm - First Dispatch TCLASS Delay Count/Dur
Aug 19, 1994 (This delay is especially important
Sep 29, 1994 for sites that have had to throttle
DB2 resource consumption by using CICS
TCLASS limits - finally you can show
your DB2 guy how much delay is being
caused by his poorly designed DB2
transactions!).
b. GMT offset, so that MXG can finally correct start/stop
times from GMT to local for sites which have non-zero
GMT offset in member CLOCKnn.
c. Replacement of one-byte TCLASS with 8-byte TCLSNAME.
d. Removal of variables OPERATOR TCSTG PC31UHWM PC24UHWM
e. Addition of resource variables TCM62IN2 TCC62IN2
TCM62OU2 TCC62OUT for LU 6.1/6.2 messages/characters.
f. Addition of resource variables PC24RHWM PC24SHWM and
PC31SHWM for read-only and shared program storage.
g. Addition of resource variables SZALLOCT SZRCVCT
SZENDCT SZSTRTCT SZCHROUT SZCHRIN SZALLCTO SZRCVTO
and SCTOTCT for FEPI activity.
h. TASKNR contains special character transaction numbers
that MXG decodes as special values of variable TASKNR:
Characters MXG TASKNR Description
'00'X,'III' 13,224,393 System Initialization Task
'00'X,'J00' 13,758,704- Journal Control, Jnr=00-
'00'X,'J99' 13,761,017 Journal Control, Jrn=99
'00'X,'JBS' 13,746,914 Journal Control
'40'X,'TCP' 14,926,807 Terminal Control
(so that these values do not set the "INVALID TASKNR"
error condition in MXG processing).
2.Major enhancements to the subtype 2 Statistics record:
a. Nine new statistics datasets are created:
CICDLIG CICFEPIC CICFEPIP CICFEPIT CICPAUTO CICUSG
CICXMC CICXMG CICXMR
b. Six existing statistics datasets will now have zero
observations with CICS/ESA 4.1:
CICDLIT CICDMG CICDMR CICTC CICTCLR CICTSR
3. Complete list of all new variables in old datasets and
new datasets can be found in member DOCVER12.
Thanks to Edward McCarthy, Health Insurance Commission, AUSTRALIA.
Thanks to Scott Wiig, First Bank Systems, USA.
Thanks to JP Meijer, Standard Bank of South Africa Limited, RSA.
4. The following table lists all CICS Statistics datasets
now created by MXG (note that those with * after Name
will have zero observations with CICS/ESA 4.1 records):
MXG Symbolic MXG DFH
Dataset IBM Exit sfx
Name STID Description of Data Set Name Name
CICAUSS 22 Autoinstalled Terminal Unsolicited STIAUSS AUS AUS
CICAUTO 24 Autoinstall Global STIAUTO AUT A04
CICCONMR 76 ISC/IRC Mode Entry Specific STICONMR CO3 A20
CICCONSR 52 ISC/IRC System Entry Specific STICONSR CO1 A14
CICCONSS 54 ISC Connection - System Security STICONSS CON A21
CICDBUSS 28 DBCTL Global Unsolicited STIDBUSS DBU DBU
CICDLIG 72 DL/I (Global) STIDLIG DL3 A25
CICDLIR 70,7 DL/I Local Specific STIDLIR DL1 A18
CICDLIT* 71 DL/I Local Totals STIDLIT DL2 A18
CICDMG* 15 Domain Manager Global STIDMG DMG DMG
CICDMR* 13 Domain Manager Specific STIDMR DMR DMR
CICDQG 45 TDQUEUE Transient Data Global STITDQG DQG A11
CICDQR 43 TDQUEUE Transient Data Specific STITDQR DQR A10
CICDS 57,5 Dispatcher Domain, CPU each TCB STIDS DS DSG
CICDTB 33 Dynamic Transaction Backout Global STIDTB DTB A05
CICFCR 67 File Control Specific STIFCR FCR A17
CICFEPIP 16 FEPI (pool) STIFEPIP FEP A22
CICFEPIC 17 FEPI (connection) STIFEPIC FEC A23
CICFEPIT 18 FEPI (target) STIFEPIT FET A24
CICIRCB 75 IRC Batch Global STIIRCB IRC A19
CICJCR 49 Journal Control Specific STIJCR JCR A13
CICLDG 27,3 Loader Domain for Program Global STILDG LDG LDG
CICLDR 25 Loader Domain for Program Specific STILDR LDR LDR
CICLSRFR 40 LSRPOOL File stats each File STILSRFR LS3 A09
CICLSRR 37,3 LSRPOOL Pool stats each LSR pool STILSRR LS1 A08
CICM 81 Monitor Domain Global STIM M MNG
CICPAUTO 23 Autoinstall Program STIPGG PGG PGG
CICSDG 90 System Dump Global STISDG SDG SDG
CICSDR 88 System Dump Specific STISDR SDR SDR
CICSMD 7,5 Storage Manager Domain Subpool STISMD SMD SMD
CICSMDSA 9,2 Storage Manager DSA and EDSA STISMDSA SMS SMS
CICSMT 8,6 Storage Manager Task Subpool STISMT SMT SMT
CICST 66 Statistics Domain Global STIST ST STG
CICTC* 3 Task Control Global STITC TC A01
CICTCLR* 58 TCLASS Transaction Class Specific STITCLR TC1 A15
CICTCR 34 Terminal Control Specific STITCR TCR A06
CICTDG 87 Transaction Dump Global STIDTG TDG TDG
CICTDR 85 Transaction Dump Specific STITDR TDR TDR
CICTM 63 Table Manager Global STITM TM A16
CICTSQ 48 TSQUEUE Temporary Storage Global STITSQ TSQ A12
CICTSR* 4 Transaction Statistics Specific STITSR TSR A02
CICUSG 61 User Domain Statistics STIUSG USG USG
CICVT 21 VTAM Global STIVT VT A03
CICXMC 12 Transaction Manager TCLASS STIXMC XMC XMC
CICXMG 10 Transaction Manager Global STIXMG XMG XMG
CICXMR 11 Transaction Manager Transaction STIXMR XMR XMR
Change 12.165 Support for LEGENT's TSO/MON 6.1 adds Service Class Name
VMACTSOM to TSOMCALL and TSOMSYST datasets when MVS/5.1 is run in
Sep 28, 1994 Goal Mode, and adds a number of Workload Manager fields
to TSOMSYST dataset. There can be up to ten sets of the
Service Class fields, but MXG chooses to keep only the
first two sets by default (others can easily be added in
MACRO _KTSOSYS in IMACTSOM, if really needed!). The real
significant change in 6.1 is internal; the transaction
distribution counters were expanded from 1 to 2 bytes (so
you can have a larger interval and not overflow!). Thanks
to LEGENT for lots of lead time, and test data too!!!
Thanks to Arne Lund, LEGENT TSO/MON Development, DENMARK.
Change 12.164 Omegamon CICS V551 SMF user dataset OMCIVSAM has zero obs
VMACOMCI because 2 extra bytes were added between V551 and V550,
Sep 28, 1994 but also because MXG logic error. The MXG logic error:
After the IF SUBTYPE=103 and RECSUBTY=1 THEN DO; line,
change IF VMAXF GT 1 THEN DO _I_=1 TO VMAXF-1; to read
IF VUSEDF GT 1 THEN DO _I_=1 TO VUSEDF-1;
The extra 2 bytes: Change the IF statement preceding
the INPUT ESRES1 statement from
ELSE IF SUBTYPE EQ 102 THEN to read
ELSE IF SUBTYPE EQ 102 OR SUBTYPE EQ 103 THEN
Unrelatedly, variables EGENAPL ERCDNUM and ESTTIME were
removed from the KEEP= for datasets from subtypes 102 and
103, as those variables exist only in the subtype 100,
(and never should have been in the KEEP= list!).
Thanks to Scott Pearson, King County Medical Blue Shield, USA.
Thanks to Shellia Shih, King County Medical Blue Shield, USA.
Change 12.163 Requesting CICS reports with PDB=PDB,TYPE=ALL,SUMMARY=YES
ANALCISH produced 0 observations and no reports because of logic
Sep 27, 1994 errors for this combination. Specifying SUMMARY=NO will
produce all reports except summary. Many lines changed.
Thanks to Tom Albert, John Alden Life, USA.
Change 12.162 Support for Landmark's The Monitor for DB2 is added by
ANALTMDB this significant user contribution; all of the code was
EXTMDDA written by Peter, and it worked correctly "right out of
EXTMDDB the box". Not only does his contribution process the
EXTMDDE Landmark file (from INFILE TMDBIN) to create 4 datasets:
EXTMDDR Dataset Description
FORMATS TMDBDA Interval Statistics
IMACTMDB TMDBDB Thread Detail
TYPETMDB TMDBDE Exception
VMACTMDB TMDBDR Thread Resource
Sep 25, 1994 but also Peter provided 17 report programs that are in
member ANALTMDB!
Thanks to Peter Proppe, Bremer Lagerhaus Gesellschaft, GERMANY.
Change 12.161 Chapter 99
ACHAP99
Sep 25, 1994
This chapter cites and thanks all contributors to MXG
Software, who are hereby officially awarded the title of
"Chapter 99 CodeSharks"!
Named by Judith S. "99" Merrill, Vice President and
Partner, in honor of the diligent sleuthing of the MXG
code performed by each CodeShark, she also established
our policy that credit should be given to every MXG user
who made any contribution to MXG Software, whether they
provided an entire program, or found a programming error,
or offered a suggestion, or even just found a comma out
of place in a comment!
The MXG Change Log (member CHANGESS) follows each change
text with the "Thanks to" note that acknowledges the user
that precipitated that Change. Chapter 99 extracts those
notes, lists the major contributors first, and then lists
(alphabetic by last name) every single user that has ever
precipitated a change!
We sincerely thank you and salute you all!
Change 12.160 Support for STK's ICEBERG SMF record subtype 5 adds new
FORMATS dataset ICEBRGDE for Deleted Data Space Release. The
VMACICE statistics for the first five extents released are kept
Sep 24, 1994 individually, as is the total I/O time for all extents.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Mike Schweitzer, StorageTek, USA.
Change 12.159 MXG 12.01 thru MXG 12.03A. Variables QB3Taaaa/QB4Taaaa
VMACDB2 in datasets DB2STAT1/DB2STATS are still missing because
Sep 22, 1994 typos crept in with Change 12.126. The statement reading
IF 2 LE QBSTPID EQ 49 THEN DO;
should read
ELSE IF 2 LE QBSTPID LE 49 THEN DO;
and the statement reading
ELSE IF 80 LE QBSTPID EQ 89 THEN DO;
should read
ELSE IF 80 LE QBSTPID LE 89 THEN DO;
Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.
Change 12.158 -APAR OW00484 incompatibly added Open Date to TYPE1415. If
VMAC1415 you install this PTF and do not have MXG 12.01 or later,
Sep 22, 1994 the variables at the end of the type 14/15 record will be
Sep 27, 1994 bad! The variables corrupted are DEVNR, VOLSER, UCBTYPx,
DEVCLASS, DEVTYPE, NEXTENT, EXCPCNT, TRKSALOC,and all
of the HIPERBATCH statistics. Change 12.036 added support
for the new field (inserted in the middle of the record),
but I failed to note the incompatibility and failed to
provide a temporary fix (you can install this fix before
the PTF is installed for protection, although if you are
going to use TYPE1415 you really should request the
pre-release as the actual change is more extensive).
After
TEMPLOC=265+OFFSMF;
Insert
IF SMF14SDC GE 28 THEN TEMPLOC=TEMPLOC+SMF14SDC-24;
-When IBM added the Hiperbatch fields, they did not set a
bit to indicate the 20 bytes were present, so MXG could
only test if there were 20 bytes, and if present, then
INPUT the hiperbatch fields. Unfortunately, IBM APAR
UW05634 added 30 bytes of SMS data to the end of the
record, and a record with SMS but no Hiperbatch satisfied
the MXG test, so false values were read in the Hiperbatch
variables (SMFIOREQ,SMFCHITS,SMFNMWTS,SMFPHIOS,SMFCIOS).
A new APAR, OW08246, now sets RECIND2='....1...'B when
hiperbatch is present, but you may not have that APAR on,
so this change tests both length and/or RECIND2 to read
in Hiperbatch data. A separate bit, RECIND2='.....1..'B
is set by UW06888 when SMS data exists, and that bit is
used to decide to input the new SMS fields of MGMTCLAS,
DATACLAS and STORCLAS. Until you install MXG 12.04 or
later, you can correct the invalid Hiperbatch values that
are caused by UW06888 by replacing the line now reading:
IF LENGTH-COL+1 GE 20 AND NUCB=1 THEN
with these two lines
LENLEFT=LENGTH-COL+1;
IF LENLEFT=20 OR LENLEFT=50 OR RECIND2='....1...'B THEN
The actual change was much more extensive, as UW05634
or UW06888 or maybe some other as-yet-unavailable APAR
also adds statistics for Compressed Format data; these
new variables now exist in TYPE1415 as missing and will
be populated when filled in by IBM:
SMF14CDL SMF14CDS SMF14CIS SMF14TKL SMF14TKN SMF14UDL
SMF14UDS SMF14XF1 SMF14XF2
Thanks to Paul Dzielak, Smith, Barney, Harris, Upham & Co., USA.
Thanks to John Maher, Home Savings of America, USA.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Jeff Berger, IBM, USA.
Thanks to Don Fink, IBM, USA.
Change 12.157 DB2 3.1 dataset PDB.DB2ACCTB has observations, but it was
EXDB2ACB supposed to have zero observations by default, because it
Sep 21, 1994 can be very large (and since it is summarized in DB2ACCT,
I don't think most sites need the additional detail.).
This change added the comment block (that was supposed to
have been there all along) in member EXDB2ACB around the
OUTPUT _LDB2ACB; statement so there now will be zero
observations created unless you change EXDB2ACB. Also,
misleading comments in member IMACDB2 were changed, and
the text of Change 12.033 was revised to be correct!
Change 12.156 Landmark MONITASK variables MONICISP/MONICASP were blank
TYPEMON8 when the transaction in fact had CA/CI splits, because
TYPETMON the names were reused for the MONIDBD dataset. To fix:
Sep 21, 1994 find the tests for TAFLAG6 that set the variables (four
lines) and respell MONICISP as MONACISP and MONICASP as
MONACASP, and then immediately before the %%INCLUDE
SOURCLIB(EXMONTSK); statement insert two lines:
MONICISP=MONACISP;
MONICASP=MONACASP;
to pick up the temporarily stored values.
Thanks to Brent Holm, Blue Cross and Blue Shield of Oregon, USA.
Change 12.155 Change 12.092 was not implemented due to clerical error.
VMACOMCI Now it has been made in the source library.
Sep 21, 1994
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.154 TYPE37 short LAND segment caused INPUT STATEMENT EXCEEDED
VMAC37 error. Between the lines inputting BRFSMADR and BRFSMNAM
Sep 2, 1994 insert: @; IF LENLAND GE 64 THEN INPUT
Thanks to Phillip Wong, Orient Overseas Container Line, HONG KONG.
Change 12.153 Step TESTOTHR may abend with 213-04 for //DISK DDname if
JCLTEST6 your site sends temporary allocations to VIO; that DDname
Aug 30, 1994 is used by VMXGVTOC and must point to real DASD, so the
DD statement now has VOL=SER=XXXXXX and comments telling
you to provide one of your volume serial numbers.
Thanks to Willie Antman, FDIC, USA.
Change 12.152 TYPE72 and TYPE72GO datasets were enhanced with four new
VMAC7072 variables:
Aug 30, 1994 MPL72 - RESIDENT*MULTI*PROGRAMMING*LEVEL
CSTORE72 - CSTORE*BYTES
ESTORE72 - ESTORE*BYTES
TSTORE72 - TOTAL*CSTORE+ESTORE*BYTES
Thanks to Willie Antman, FDIC, USA.
Change 12.151 Support for Landmark Monitor for CICS/ESA Version 1.3 is
IMACTMON completely incompatible; reading the new records with the
TYPETMON old member TYPEMON8 causes INVALID DATA FOR ENDDATE, D12,
Aug 29, 1994 D34, D56, HH, MM, SS, TH and MXG ERROR2.LANDMARK. The
record architecture was changed and only 3 original data
sets are now created (MONITASK, with 70 fewer variables,
MONISYST with 119 fewer variables, and MONIDBDS with 2
new variables), plus one new dataset (MONIDSA), so I
chose to change the member name from TYPEMON8 to TYPETMON
(and the corresponding IMAC from IMACMONI to IMACTMON) so
that I could reduce the size of the datasets created.
If you have installed the TMON de-compression exit from
member EXITMON6, you must update IMACTMON to tell MXG to
use that exit as described in comments in IMACTMON.
These datasets are no longer created by TYPETMON:
MONIHIST - History record, actually went away in 1.0
MONIMRO - MRO segments no longer exist in TA record
MONIUSER - User segments no longer exist in TA record
There is one new dataset, from the "TD" record:
MONIDSA - Interval DSA Statistics
and only these new fields were added to existing datasets
MONITASK - TAENGMTO TADBCTHC
MONISYST - TIDBCTC TIDBTHC
MONIDBDS - *** unknown, 8 bytes undocumented.
In fact, the major changes were the removal of many, many
variables: all of the non-ESA constructs are now reserved
and I chose to delete those old variables in this support
(because dragging them along made the MONITASK/MONISYST
datasets much larger for no good purpose). However, I am
sure that some of your report programs may fail with
VARIABLE NOT FOUND errors because of these deletions, so
you will need a little extra review to remove references
to these deleted variables. Member DOCVER12 identifies
all of the variables that have been deleted, but note
that variables PRIINCHR/PRIOUCHR (Input/Output character
counts) do not exist in MONITASK, and duration variables
JCCPUTM/JCDSPTM/KCCPUTM/KCDSPTM/TCCPUTM/TCDSPTM
IRCPUTM/IRDSPTM/OSWTCPTM/SYSTCBTM/VSDSPTM no longer exist
in MONISYST.
Change 12.150 DB2 Type 102 IFCID=206 record causes ERROR 73-322, CHAR
VMAC102 VARIABLE EXCEEDS 200 BYTES because the LABEL for variable
Aug 29, 1994 QW0206FL ended with a */ instead of a single quote.
Thanks to Marlin W. Thoma, J.C. Penny, USA.
Change 12.149 AS/400 dataset QAPMLTG does not exist, and all references
VMACQAPM to it have been deleted.
Aug 26, 1994
Change 12.148 TYPE50 dataset has missing values after Change 12.102
VMAC50 because the %%INCLUDE SOURCLIB(EXTY50); statement was
Aug 26, 1994 misplaced. It and its adjacent RETURN; statement need to
be moved after the END; statement in line 012600 (i.e.,
after the penultimate END; and before the ultimate END;).
Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.
Change 12.147 Omegamon II for SMS Change 12.123 (MXG 12.03/12.03A) had
VMACOMSM a typo which caused execution errors. The "&PIB.2 " after
Aug 25, 1994 OMFS2INT should be "&PIB.2.". In addition, that Change
did not support continued records, but this change added
substantial logic to process continuations. A complete
logical record contains a VOLUME segment, some number of
DATASET segments, each followed by some other number of
JOBS segments for jobs using that DATASET on that VOLUME.
If the total length of these segments exceeds 32768, the
SMF record is truncated at the end of either a DATASET or
JOBS segment, and subsequent continued records start with
the next JOBS/DATASET segment. Supporting these records
required retaining the data from the VOLUME and last
DATASET segment so the segments in continued records have
the volume and dataset information. There is an exposure
to data loss with Candle's architecture - if the first
record of a continuation is the last record in today's
SMF file, then when those continuations are processed
tomorrow, there won't be a volume or dataset record and
those data will be missing. I have suggested that Candle
change their design, so that when they have to continue
segments, that they put the previous VOLUME and DATASET
segments in each record so that each record is a self-
contained description of activity by jobs against dataset
on volumes.
Thanks to Bob Lembo, American Stores Company, USA.
Change 12.146 Reading the NDM VSAM log (instead of the dumped BSAM log)
TYPENDML caused zero observations, because there are ten extra
Aug 25, 1994 bytes at the beginning of the VSAM record that are not in
the VSAM record. To process the VSAM NDM log, change the
statement OFFSMF=-14; to read OFFSMF=-4;
Comments were added to TYPENDML documenting this feature.
Thanks to Jane Chin, Chevron Information Technology, USA.
Change 12.145 Support for NPM Release 2.2 added twelve new subtypes,
EX028CM8 (64x-6Fx), nine new segments (NCV,NGV,NLS,NLW,NRV,NVC,
EX028ER3 NVS,NVT, and NVV), and MXG creates nine new datasets for
EX028INF these NetWare statistics (which look very useful):
EX028ING NPMNWCMD - NETWARE START/STOP/ALTER
EX028INH NPMNCINT - NETWARE COMMUNICATIONS INTERVAL
EX028INI NPMNRINT - NETWARE ROUTER INTERVAL
EX028INJ NPMNLINT - NETWARE LAN BOARD INTERVAL
EX028SU1 NPMNLSUM - NETWARE LAN BOARD SUMMARY
EX028SU2 NPMNGINT - NETWARE SERVER GLOBAL INTERVAL
FORMATS NPMNVINT - NETWARE SERVER VOLUME INTERVAL
VMAC28 NPMNVSUM - NETWARE SERVER VOLUME SUMMARY
Aug 23, 1994 NPMNVMNE - NETWARE MONITOR EXCEPTION/RESOLUTION
New variables were added to NPMINPMT (4), NPMVSVGB (4)
and NPMVSVDV (22). All changes were compatibly made,
although the new subtypes will cause an MXG message to
be printed on the log.
This support has only been syntax checked; no data has
been available for testing as yet.
Change 12.144 The first occurrence of VALDSAMP in the list of LABELs
VMAC7072 should have been R723CSAC.
Aug 23, 1994
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.143 Change 12.060 was supposed to have changed SACCT3 to read
IMACPDB SACCT9, but that part of the change was not made; now it
Aug 22, 1994 has been! I still don't know how this slipped thru!
Thanks to Tom Parker, Hogan Systems, USA.
Change 12.142 Tape Mount Pending duration (the duration from when the
ADOC30 tape mount was issued until the volume is mounted and the
Aug 22, 1994 VOLSER has been verified and the UCB Ready Bit is on) is
included in the TYPE30_4 duration variable DSPDLYTM. I
have erroneously reported (in documentation member ADOC30
and in the text of Change 10.031) that tape mount delay
was included in ACTDLYTM, but it has always been a part
of DSPDLYTM. The text in ADOC30 and CHANGESS has been
corrected.
Thanks to Roh Rhue, PENNCORP Financial, USA.
Thanks to Bob Drischel, PENNCORP Financial, USA.
Change 12.141 Variable SMF74NID was left out of the KEEP= list for data
VMAC74 set TYPE74, and is needed for ANALRMFR reports.
Aug 19, 1994
===Changes thru 12.140 were in MXG PreRelease 12.03A dtd Aug 17, 1994===
Change 12.140 Chuck Hopf's paper on BLSR (Batch Local Shared Resource),
ADOCBLSR a technique for significantly reducing VSAM run times, is
ANALBLSR now contained in member ADOCBLSR. Also, his BLSR analysis
Aug 17, 1994 program, ANALBLSR, has been revised to tell you if it did
not find any datasets that were candidates for LSR, or if
candidates were found that did not meet the minimum
criteria (EXCPs against the file, specified in IOHIGH,
or percentage of total I/O to a single VSAM component,
specified in PCTIO; both IOHIGH and PCTIO are defined in
ANALBLSR and can be changed by the user).
Thanks to Chuck Hopf, Merrill Consultants, USA.
Change 12.139 MVS/ESA 5.1 dataset TYPE72GO variables starting with PCT
VMAC7072 are not properly calculated nor completely understood.
Aug 17, 1994 (These are sampled values for using/delay from the new
Workload Manager when in Goal Mode, and while they may be
useful, they are not critical, resource measurements.)
First, I was using R723CSAC instead of R723MTVN as the
number of samples in the denominator, but even with that
correction, there are observations with PCTUSCUS (using
CPU) of 249%! Second, some samples are summed across all
address spaces, requiring additional normalization. As
time ran out for building MXG 12.04, I will revisit the
calculations and revise this text in a future release.
For now, regard them as highly suspicious.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 12.138 Support for APAF 2.2 incompatibly added new data fields,
VMACAPAF and now supports up to 12 LPs. Some new variables were
Aug 17, 1994 added to several data sets. Kudos to Amdahl for giving
me not only documentation but actual test SMF data!
Thanks to Gladys Blaylock, Amdahl, USA.
Change 12.137 Variables CYCLE MVSLEVEL and SYSPLEX were added to KEEP=
VMAC74 list for datasets TYPE74CF and TYPE74ST and SYSPLEX was
Aug 17, 1994 added to KEEP= list for TYPE74 (to support ANALRMFR).
No changes were installed while at Woodstock '94 (a/k/a MUDstock)!
Best announcement from the Woodstock Stage:
"To Bruce, from Karen, y'know, the girl you dumped last weekend?
Well, I just won the New York State Lottery! F... You!"
Change 12.136 Support for CA's TLMS 5.4 (whose records are incompatible
IMACTLMS with the previous 5.3 release) creates the same TYPETLMS
TYPETLMS dataset, with a few new variables. You must change macro
VMACTLMS _TLMSVER in member IMACTLMS from 5.4 to 5.3 if you want
Aug 10, 1994 to process records from the old 5.3 release, as MXG's
default now expects release 5.4 format records.
Thanks to Mike Hill, Abbey Life, ENGLAND.
Change 12.135 DB2 Trace SMF 102 IFCID 125 has extraneous observations;
VMAC102 the iteration across each Index used to obtain RIDS was
Aug 10, 1994 using the Length instead of the Number of sections!
Change the BY QWT02R2L; to read BY QWT02R2N; in the line
DO OFFSET=QWT02R2O TO QWT02R2O+(QWT02R2N*QWT02R2L) BY....
inside the MACRO _C102125.
Thanks to Dave Witkowski, Amdahl, USA.
Change 12.134 MXG 12.03 only, and only if %ANALRMFR(PDB=SMF) is used.
ANALRMFR You get "LIBRARY SMF IS NOT IN VALID FORMAT FOR ACCESS
Aug 10, 1994 METHOD SASEB" error (because MXG is trying to read a
SAS dataset from the SMF DDname!). To correct, insert
%IF &PDB EQ SMF %THEN %LET PDB=WORK; before the line
with the comment /* BEGIN CPU REPORTS */.
Change 12.133 Some DDF Summary variables (QLSTxxxx in DB2STAT0) were
DIFFDB2 not de-accumulated in DIFFDB2, causing incorrect counts
Aug 10, 1994 (most notably, BYTES sent/received on the statistics
summary report ANALDB2R). Change 10.210 removed some of
these deaccumulations in error, and some were new fields
added in DB2 3.1. Now, all QLSTxxxx variables, except
for QLSTLOCN (a character variable) are now DIF()'ed in
DIFFDB2.
Thanks to Don Mosley, Farmland Industries, USA.
Change 12.132 BETA93 test records were received, and proved that the
FORMATS initial support in MXG 12.03 was incomplete. Subtypes 0
VMACBETA thru 4 have been tested; there are some relatively minor
Aug 10, 1994 questions that were sent to the vendor for answers that
will cause another change, but with this change, the data
for the tested subtypes seems valid. Note, however, that
subtypes 2, 3, and 4 are pairs of records, one for Start
and one for End, with most activity counts identical in
both records - be careful not to double account! Feb 95:
Beta 93 Records for Version 1.6.22 have now been tested.
Thanks to Manfred Thomas, BHF-Bank, GERMANY.
Change 12.131 In support of the SAS/CPE Product, variable DATETIME has
BUILDPDB been kept in datasets PDB.JOBS, PDB.STEPS, and PDB.PRINT.
BUILD005 DATETIME is the datetimestamp that was used to calculate
Aug 10, 1994 the shift of the job, step, or print event.
Thanks to Tricia Dudley, SAS Cary, USA.
Change 12.130 Dataset MONIMRO variable TAMRTIME was incorrect because
TYPEMON8 the statement TAMRTIME=64*TAMRTIME should have been
Aug 9, 1994 before the %%INCLUDE SOURCLIB(EXMONMRO) instead of just
after it.
Thanks to Dave Konz, Dreyfus, USA.
Change 12.129 ASMIMSLG program may ABEND 002 on DDNAME of IMSMPRS if
ASMIMSLG the IMS log being read contains records greater than 248
Aug 8, 1994 bytes (some Fast Path records are), because the DCB for
this output file was specified in the ASMIMSLG program.
To correct, delete the line MVC DCBLRECL,IMSTY7L
(so that there is no LRECL is specified in the program);
since the JCLIMSLG example has always had a DCB parameter
of RECFM=VB,LRECL=23572,BLKSIZE=23576, that DCB will be
used instead.
Thanks to Ronnie Stake at NORDBANKEN, SWEDEN.
===Changes thru 12.128 were in MXG PreRelease 12.03 dated Aug 4, 1994===
===Changes thru 12.128 were printed in MXG Newsletter 26 Aug 4, 1994===
Change 12.128 Continued corrections and validation of IBM RMF reports.
ANALRMFR Major change was to revert back to use the Partition pct
Aug 3, 1994 CPU busy (instead of Effective CPU busy) because IBM has
again changed back, (and I want to match their reports!).
Some minor corrections in spelling and labelling too!
Change 12.127 Continued corrections and validation of CICS DFHSTUP-like
ANALCISH reports. Fixed problems are:
Aug 3, 1994 No "Terminal" Report.
WORK.CICAUSS.DATA does not exist.
Missing System and Transaction Dump Stats.
Missing Interval Report for "Task Subpools and DSA"
Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.
Change 12.126 MXG 12.01/MXG 12.02 only. DB2 Buffer Pool data for DB2
VMACDB2 2.3 pools BP2 and BP32 and for DB2 3.1 pools with BPID=3
Aug 3, 1994 or greater (these are MXG variables QB3Caaaa/QB4Caaaa in
DB2ACCT, and variables QB3Taaaa/QB4Taaaa in DB2STAT1) are
missing because Change 12.033 did not initialize the 3rd
and 4th sets of variables. Many lines were involved in
this change: the new logic for the 3rd and 4th sets of
variables now tests if QB3CPID=. or QB4CPID=. (for
DB2ACCT logic) or QB3TPID or QB4TPID=. (for DB2STAT1
logic), and if true, a new DO group initializes the full
set of variables (including storing into QB3CPID QB4CPID,
QB3TPID or QB4TPID) to initialization only once, and the
existing sum logic is wrapped in a new ELSE DO group.
This should have been caught in my testing, but I did not
have test data with these higher buffer pool IDs.
Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
Thanks to Lori A. Masulis, Fidelity Systems, USA.
Change 12.125 Support for BETA93 Report Distribution & Print Management
EXTYBET0-6 System 1.6.0 user SMF record creates six datasets:
IMACBETA BETA0 - Subtype 0 - Input of Lists
TYPEBETA BETA1 - Subtype 1 - Output of Lists
VMACBETA BETA2 - Subtype 2 - Bundling
Aug 3, 1994 BETA3 - Subtype 3 - Recipient Packeting
BETA4 - Subtype 4 - Address Packeting
BETA5 - Subtype 5 - Action Performed Against List
BETA6 - Subtype 6 - Completion of Print Request
Thanks to Manfred Thomas, BHF-Bank, GERMANY.
Change 12.124 DB2 Trace Paring for IFCIDS 15,16,17,18 mis-matched scans
ANALDBTR when there were multiple BEGIN SCANs before an END SCAN.
VMAC102 This was an extensive logical changed; the first three
Aug 3, 1994 bytes of the CUB (QW0015AC,16AC,17AC,18AC) is now stored
into new variable CUBTOKEN and kept in the four T102S0xx
datasets in VMAC102, and ANALDBTR logic for _015PAIR was
revised to insert CUBTOKEN in all BY statements after
QWHCCV, and CUBTOKEN was added to the six KEEP= lists for
the datasets inside the _015PAIR macro. The CUBTOKEN was
created because the final byte of QW0018AC was a hex zero
while the final byte of the other QW001xAC fields was
found to contain a wide range of non-zero values.
(In addition, QW0018AC's INPUT in VMAC102 was changed to
$CHAR4. instead of &PIB.4.; all other CUB fields had been
input as characters. And finally, while cleaning up the
CUB fields that end in AC, I noted that other IFCIDs have
a field ending in AC (the ACE Token) that was mostly CHAR
but sometimes &PIB, so all occurrences were revised to be
input $CHAR4., formatted $HEX8., and added to $NOTRAN.)
Thanks to Dave Witkowski, Amdahl, USA.
Change 12.123 Support for Omegamon II for SMS V100 and V110. Subtype
VMACOMSM 2 record was restructured (compatibly), and new subtype 3
Aug 3, 1994 record was added, but since the subtype 3 replaces the
subtype 1 record in V110, you will need to install the
new MXG version before you process V110 records.
Change 12.122 Support for APAR OW00157 adds variables SMF62MGT,SMF62STR
VMAC62 and SMF62DAT (Management Class, Storage Class, and Data
Aug 3, 1994 Class names) to the VSAM Open Record. Unfortunately, the
fields would be far more useful in TYPE64 Close Records!
Change 12.121 NETSPY 4.4 added four fields to the NCP record that i did
VMACNSPY not decode; the four fields are all PIB4. and replace the
Aug 2, 1994 first 16 bytes of the +26 toward the end of the NCP code:
CFBQUELN='CURRENT*FREE BUFFER*QUEUE LENGTH'
FBQLNHWM='FREE BUFFER*QUEUE LENGTH*HIGH WATER MARK'
FBQLNLWM='FREE BUFFER*QUEUE LENGTH*LOW WATER MARK'
TFQBANCP='TOTAL*FREE QUEUE BUFFS*ALLOC IN THE NCP'
Note that LEGENT told Roger that for NCP Version 6.2, the
MAXFREEB (Max Free Buffers) is now moved to MXG variable
TFQBANCP (at offset 47). I chose to keep both variables.
Thanks to Roger Zimmerman, Kemper Service Company, USA.
Change 12.120 Support for ASTEX 2.0 adds several fields; the new record
VMACDMON can be read by prior versions of MXG, but variable RDUA
Aug 2, 1994 (device unit address) will be unreadable without the MXG
changes (it was EBCDIC, now it's binary, so MXG decodes
the binary back to EBCDIC). Several other new variables
were added to the record (compatibly). I replicated the
six "May/Must Cache" variables that were misspelled with
"H" to be correctly spelled, but also keep the old named
misspelled variables.
Change 12.119 The REXX example statement containing AND FORMAT IT AS
REXXPDB needs to be shortened and an ending quote added to the
Aug 2, 1994 line.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
Change 12.118 MVS/ESA 5.1 TYPE72GO dataset RTSTRNnn variables may have
VMAC7072 counts for a Service Class Period that does not have any
Aug 2, 1994 response time goal; MXG logic did not properly match the
SCS section with the appropriate RTS section, instead it
carried the RTSTRNnn variables forward. The observations
with bad counts can be identified; they have R723CRTX=0,
but this change corrects the logic, and also corrected a
related problem with R723TYPE for these observations.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 12.117 Support for SMF type 99 (Workload Manager Trace) Subtype
EXTY99U2 2 creates dataset TYPE99_2 for each Service Class Period
IMAC99 with lots of useful detail about what's really happening
TYPE99 inside the new Workload Manager (for example, you can see
VMAC99 the changes in dispatch priority for each workload with a
Aug 1, 1994 "PROC PLOT DATA=TYPE99_2; PLOT PBDP*SMFTIME=SRVCLASS);".
There are many other subtypes in the type 99, many are so
detailed as to be questionable in value, but as the need
arises, additional subtypes will be decoded.
Thanks to Peter Enrico, IBM Poughkeepsie, USA.
Change 12.116 If ANALDB2R was run with only PMACC04=YES specified, an
ANALDB2R unresolved macro reference for MAXINDT was produced. The
Aug 1, 1994 code was corrected. If any other PMACCnn was requested,
along with PMACC04, the error did not occur.
Thanks to Perry Lim, AVCO, USA.
Change 12.115 Monthly trending members MNTHxxxx were revised to take
MNTH70PR advantage of the enhancements made to VMXGSUM by earlier
Aug 1, 1994 Change 12.084; minor cosmetic improvements also made.
Change 12.114 Minor change to this macro now can select ranges of DB2
READDB2 IFCID values.
Aug 1, 1994
Change 12.113 UTILGETM is used to create the SMFSMALL subset file with
UTILGETM JCLTEST6; this revision was really for me, so I can give
VMXGGETM you a trivial invocation of VMXGGETM when I need to see a
ZMXGGETM particular SMF record. UTILGETM now just invokes the new
Aug 1, 1994 VMXGGETM macro with default parameters. You might find
the new macro useful if you are chasing raw SMF records!
Because the new UTILGETM won't work with SAS Version 5,
the original UTILGETM was copied/renamed into ZMXGGETM.
Change 12.112 Support for UniKix Release 4.1 now creates three datasets
FORMATS from UniKix Technologies "CICS-like-under-UNIX"
VMACUNIA product's accounting files:
VMACUNIK UNIKTRAN - Transaction record, one per transaction for
ZMACUNIA those transactions that are being monitored
ZMACUNIK UNIKUSER - User record, one per transaction for those
Jul 29, 1994 users whose transactions are being monitored.
UNIKEVNT - Event record (STARTUP/SHUTDOWN/etc.)
These three datasets are created from either the Unix
Binary file (using TYPEUNIK to read INFILE UNIKIXBI under
UNIX/WINDOWS/OS/2 versions of SAS), or the three datasets
are also created from the UniKix Account Conversion
Program's output ASCII file (using TYPEUNIA to read the
INFILE UNIKIXAS, which can execute under any version of
SAS, so that the ASCII file could be uploaded first and
then processed with mainframe SAS; however, the ASCII
file is twice as large as the binary file). Note that it
is possible to do double accounting; if a monitored user
executes a monitored transaction, there will be two obs
created for that event, one in UNIKUSER and in UNIKTRAN.
I have used common CICS variable names where possible.
See Chapter 10 of the UniKix Administrator's Guide for
more documentation. data fields. The MXG code for the
earlier UniKix Release 4.0 was copied into the members
ZMACUNIA/ZMACUNIK (see comments on their usage); note
that that old code creates only a single dataset,
TYPEUNIK or TYPEUNIA, and all three types of observations
(event, transaction, and user accounting) are contained
in that dataset. Last minute note for MXG 12.03: Only
the Binary support was finished. ASCII (VMACUNIA) will
be completed in next MXG release.
Change 12.112A VARIABLE BCRTBLA HAS ALREADY BEEN DEFINED AS NUMERIC
VMXGHSM results from insufficient testing after Change 12.030!
Jul 29, 1994 Variables BCRTBLA,BCRTLAB, and BCRTCAB must be spelled
BCRTBLX,BCRTLAX, and BCRTCAX in three lines where they
INPUT as CHAR4., and in three lines where they are inside
INPUT functions (i.e., on right hand side of the equality
but they are correctly spelled on the left hand side).
Also, LENGTH BCRTBLA BCRTLAB BCRTCAB 8; was added.
Thanks to Peter MacDonald, USF&G, USA.
Change 12.111 APAR PN56441 corrects DB2 IFCID 239 record, which was
VMAC102 erroneously written as an SMF ID=102 record; it is fact
Jul 27, 1994 the ID=101 SUBTYPE=1 record that creates DB2ACCTP, and
already supported in MXG. Only comments were revised.
Change 12.110 APAR OW01522 adds new value 7 for Extended Sequential to
FORMATS format MG042DS (for variable DSTYPE); the APAR text also
Jul 27, 1994 states that all values will be documented in IGWDSSBC.
Change 12.109 The PAGRT calculation did not match IBMs Paging Report.
VMAC71 Variable PGMIEXAU was added to PAGRT and should not have
Jul 27, 1994 been, and variable PGBKAUIN should have been added but
wasn't! The MXG code changes were to delete the line
PAGRT=PAGRT+PGMIEXAU; and insert PAGRT=PAGRT+PGBAKUIN;
after the line reading DPR=DPR+PGBKAUIN;
Thanks to Ms Foo Hooi Ping, Maybank, MALAYSIA.
Change 12.108 Variable MULTIDD was left out of the KEEP= list for the
BUILD005 PROC SORT of TYPE30_5.
Jul 27, 1994
Change 12.107 MXG CRITICAL ERROR. UNEXPECTED TCP/IP DATA VALUES will
IMACTCP result if you specify a value of 118 in member IMACTCP
VMACTCP for either macro _IDTCPF or _IDTCPT. The comments in the
Jul 26, 1994 IMACTCP member were strengthened that these macros are
only for the archaic version of TCP/IP, but also MXG is
now robust against this error - the logic in VMACTCP now
tests automatically for type 118 before examining what
you specified in those macros, so this won't recur!
Thanks to Dov Brosh, Solomon, Inc, USA.
Thanks to Rich Warren, Solomon, Inc, USA.
Change 12.106 Continued validation of DFHSTUP-like reports uncovered
ANALCISH more minor glitches. Following the first occurrence of
Jul 25, 1994 &CAUS and &CAUT, the macros CICAUTO and CICAUSS need to
be reversed - CICAUSS is invoked after &CAUS and CICAUTO
is to be invoked after &CAUT. The four tests for INOBS=
SDG,SDR,TDG, and TDR must be changed to CSGD,CSDR,CTDG,
and CTDR respectively. After both occurrences of
PROCESS(MXGDS=CICTCR); insert %RPTTCR(MXGDS=CICTCR);
Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.
Change 12.105 MXG Tape Mount and Tape Allocation Monitor, ASMTAPES, is
ASMTAPES now healed of all known glitches! This change corrects
Jul 25, 1994 the MIM flag (mounts were always indicated as from MIM),
and correctly identifies PRIVAT/DEMAND mounts (once a UCB
has a PRIVAT mount, all subsequent mounts were flagged as
PRIVAT). With this change, I believe ASMTAPES is safe to
install in production, in place of the old ASMTMNT that
only tracked tape mounts.
- after the line
MNTPEND OI DEVFLGS,DEVPEND FIRS REMEMBER ITS PENDING
insert this new line;
NI DEVFLGS,X'FF'-DEVPVT-DEVSCR RESET PRIVAT/SCRTCH
- the third line after label SETJOB, now containing:
LH R4,UCBASID-UCBCMEXT(,R4) ALL SO WE CAN GET THE ASID
is replaced by these three lines:
ICM R4,B'0011',UCBASID-UCBCMEXT(R4) GET THE ASID
ICM R4,B'0100',=X'00' ZERO OUT HIGH-ORDER HALF OF R4
STH R4,DEVASID STORE THE ASID FOR MIM CHECK
Thanks to Bob Kinney, Kaiser Permanente, USA.
Thanks to Mike McClean, Travelers, USA.
Change 12.104 Support for EMPACT's HIPER-CACHE Version 1.1.1 (INCOMPAT)
VMACHIPR inserted 24 bytes (JCTJOBID,INITTIME,READTIME) in the
Jul 21, 1994 header. You can process the new version's SMF records
(but not the old!) by changing the +2 after the INPUT of
SMFVERS to +26. The actual change creates the three new
variables.
Thanks to Neil Ervin, Huntington National Bank, USA.
Change 12.103 DB2 Trace IFCID=141 (dataset T102S141) was not correctly
FORMATS decoded for DB2 2.3/3.1, and the SQL text was not read.
VMAC102 Change the statement:
Jul 20, 1994 IF QWHSRELN GT 2.2 THEN INPUT QW0141CO &IB.4.
to read:
IF QWHSRELN GT 2.2 THEN INPUT +2 QW0141CO &IB.4.
After INPUT of QW0141HO $CHAR8. and before the @; insert
QW0141LL &PIB.2.
so that the length of SQL text will be read in.
Thanks to Ricky Wafford, MBNA, USA.
Change 12.102 APAR OW04453 corrects SMF type 50 VTAM Tuning Statistics
FORMATS documentation and I discovered that the type 50 record
VMAC50 is actually four different structures, described in VTAM
Jul 20, 1994 Network Implementation Guide (SC31-6419) Table 29 (SNA
Controller), Table 30 (Channel-to-Channel) and Table 31
(Multipath Channel Adapter, MPNCB or CPNCB). All fields
are now decoded, and variable VERSN50 identifies whether
the record is for SNA, CTC, or MPC, and variable ATTCHTYP
identifies if an MPC record is an MPNCB or a CPNCB.
Change 12.101 Documentation of common error messages is now provided in
INSTALL a new section zero at the beginning of member INSTALL.
Jul 20, 1994 These messages are now described, with more detail:
APPARENT SYMBOLIC REFERENCE PIB NOT FOUND
(missing or old dsname for CONFIG= or //CONFIG DD)
INFORMAT $NOTRAN or FORMAT $MGxxxxx or MGxxxxx NOT FOUND
(missing or old dsname for //LIBRARY DD)
LENGTH OF CHARACTER VARIABLE HAS BEEN SET
(has no effect, to be eliminated by SAS, disregard)
Change 12.100 Documentation of the output reports produced by this CICS
UTILCICS utility that prints the contents of your CICS Dictionary
Jul 19, 1994 records is now extensive, with examples, in comments.
Thanks to Danilo Gipponi, SAS Institute, ITALY.
Thanks to Werner Bundsuhuh, SAS Institute Europe, GERMANY.
Change 12.099 Protection for invalid expiration dates (96366,97366) in
VMACDCOL both DCOLLECT and HSM dataset processing now sets the
VMXGHSM xxEXPDT variables to '31DEC2099' when the day-part of the
Jul 18, 1994 Julian date is 366 or greater. (See Change 14.124).
Thanks to Norbert Korsche, OMV, AUSTRIA.
Change 12.098 DB2 report PMSQL01 or PMSQL02 cause MISSING BY STATEMENT
ANALDB2R because IFCID 54 was not included in the list defined in
Jul 18, 1994 MACRO _PMSQL01. Add 54 to that list and the syntax error
will go away.
Thanks to Dave Witkowski, Amdahl, USA.
Change 12.097 NPM Release 2.0 records cause INVALID DATA FOR MGBYTES
VMAC28 and/or INPUT STATEMENT EXCEEDED RECORD LENGTH and/or
Jul 18, 1994 NONZERO COF SEGMENT for NPMSUBTY=214 thru 219, because
no test data was available for validation to catch my
careless errors in the new VTAM monitoring subtypes:
-Remove both occurrences of " MGBYTES " (without a period)
but do not remove the one occurrence of " MGBYTES." (with
a period).
-Remove one occurrence of "TIME 13.3" (with blank between
TIME and 13.3), but do not remove the one occurrence of
TIME13.3 (without the blank).
-The line now reading:
ELSE IF 0D0X LE NPMSUBTY LE 0D5X THEN COFTYPE='VCD';
should read:
ELSE IF 0D0X LE NPMSUBTY LE 0DBX THEN COFTYPE='VCD';
Also, now with real data, variable VADSTIME in dataset
NPMVSVAD is now properly decoded into a datetimestamp.
Thanks to Tom Parquette, Mutual of New York, USA.
Change 12.096 Support for RSD's WSF Release 3.5.1 (INCOMPATIBLE)! The
FORMATS new records do not cause any MXG error, but the dataset
VMACWSF WSFEVTPR was trashed because ACCPRNAM was expanded from 8
Jul 17, 1994 to 16 bytes! For a workaround to read the new records
(but not the old ones), you can change then INPUT of
WSFEVTPR from $EBCDIC8. to $EBCDIC16. The actual change
added a new variable and its FORMAT, corrected MXG logic
that did not read the Account Extension segment, and now
blanks variables that exist only in the ERD records.
Thanks to M. Kirassian, GIA Rhone Alpes, FRANCE.
Change 12.095 DB2 report PMACC02 variables QWACAWTW/QWACAWTR/QWACAWTE/
ANALDB2R QWACALOG were incorrectly normalized. In two places,
Jul 15, 1994 in the ELSE statement following IF QWACAWTR = ., change
both occurrences of QWACAWTW to QWACAWTR. In two places,
in the ELSE statement following IF QWACAWTE = ., change
both occurrences of QWACALOG to QWACAWTE.
Thanks to Caron Knox, Willis Corroon Group, ENGLAND.
Change 12.094 Dataset TYPE30_V was not deleted (due only to oversight)
BUILDPDB after it was copied and renamed into PDB.SMFINTRV in the
BUILDPD3 BUILDPDB/BUILDPD3 logic, so it has now been added to the
BUILD005 DELETE statement of the PROC DATASETS following its last
BUIL3005 reference.
Jul 15, 1994
Thanks to Diane Eppestine, Southwestern Bell, USA
Change 12.093 Cosmetic correction to spelling in labels for variables
VMACNSPY NSPETHR and NSPLFCNT AND LUGTRGT1-LUGTRGT4.
Jul 15, 1994
Thanks to Warren Hayward, TJX Companies, USA.
Change 12.092 OMEGAMON/CICS 550/551 User SMF record datasets OMCIDTCO
VMACOMCI and OMCIDTCT (DATACOM counts) had zero observations and
Jul 13, 1994 datasets OMCISUPR/OMCISUPT (SUPRA) had extra obs (with
missing variables) because DATACOMM records were not
output into the correct datasets. After "MACRO _COMCDTC"
change %INCLUDE SOURCLIB(EXOMCSUT); to (EXOMCDTT) and
change %INCLUDE SOURCLIB(EXOMCSUP); to (EXOMCDTC).
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.091 Variable QPENRECA should have been spelled OPENRECA in
VMACVMXA VM/ESA Monitor dataset VXAPLSRV.
Jul 13, 1994
Thanks to Mitch McKenna, SAS Institute Europe, GERMANY.
Change 12.090 TCP/IP variables APILCLPO.APIRMTPO,FTPLCLPO,FTPRMTPO,
VMACTCP TELLCLPO, and TELRMTPO (port addresses) should have been
Jul 13, 1994 FORMATted $HEX4.; now they are.
Thanks to Jan Van Kemenade, Univ. Rekencentrum Nijmegen, HOLLAND.
Change 12.089 A cosmetic change; the comment named YOUR.SMF.DATA as the
JCLTEST6 sample SMF input DSNAME, but the actual JCL used a name
Jul 11, 1994 of YOUR.SMF.DUMPED.DATA. Now both use the latter name!
Thanks to Philip Pearson, Ansett Australia, AUSTRALIA.
Change 12.088 DB2 Trace IFCIDS=180,181,182,186,190,192,193,194,195, and
FORMATS 198 are now decoded, although the code has only been
VMAC102 syntax checked as of this date. More subtypes and update
Jul 11, 1994 to this text are planned.
Thanks to Bob Brosnan, Goldman, Sachs & Co., USA.
Change 12.087 New analysis routing which matches CICSTRAN with DB2ACCT.
ANALDB2C See comments in the member for how multiple CICSTRAN and
Jul 8, 1994 multiple DB2ACCT transactions for a single unit-of-work
are handled in this initial analysis.
Thanks to Dan Null, Caterpiller, USA.
Change 12.086 Label for variable DVLVSER was incorrect; it is now
VMACDCOL VOLUME*SERIAL*NUMBER.
Jul 8, 1994
Thanks to Joe Faska, Depository Trust, USA.
Change 12.085 Change 12.059 set SUBSYS='VPS ' for VPS output, but did
VMAC6 not also set SUBSYS6='VPS', so the change was not carried
Jul 6, 1994 into the PDB.PRINT dataset; now it is.
Thanks to Tom Parker, Hogan Systems, USA.
====Changes thru 12.084 were included in MXG 12.02 dated Jul 4, 1994====
Change 12.084 New features/enhancements to VMXGSUM were transparently
DOC added to this powerful MXG summarization utility.
VMXGSUM - A dataset name in the INDATA= string can now be a fully
Jul 1, 1994 qualified SAS name like with "INDATA=PDB.JOBS," or
macros can be used, like with "INDATA=_DAY._DSET,".
- It is no longer necessary to use a DROP DATETIME;
statement, nor do you need to assign the real variable
name in an assignment statement. (The DATETIME= option
set up an internal variable named DATETIME). Now, if
DATETIME=VARIABLE, and VARIABLE appears in the ID list,
and the variable name is not DATETIME, then MXG inserts
VARIABLE=DATETIME in the logic, and drops DATETIME.
- New options allow specialized use of summarization that
are described in detail in member VMXGSUM:
CLASS = Allows specifying CLASS and keeps _TYPE_
so that multiple outputs can be created.
MEANOPTS= Allows passing options to the PROC MEANS.
ORDER = Allows insertion of LABEL statement to force
alphabetic order in the output dataset vars.
INCODE1 = Continuation of INCODE= in case the 32K byte
SAS limit (including blanks!) is too small.
INCODE2 = New exit for code insertion after the
normalization phase on the input side.
OUTCODE1= Continuation of OUTCODE=, see INCODE1.
OUTCODE2= New exit for code insertion before the
de-normalization phase on the output side.
- Although these internal changes were implemented in a
transparent manner, so your existing programs that use
%VMXGSUM should not need any changes, all of the MXG
members that invoke it were cleaned up. Now redundant
DATETIME= references were removed, all invocations now
contain INVOKEBY="member" argument to make it easier to
tell which member has executed %VMXGSUM, and
invocations were collimated for clearer reading.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY, who
suggested several of the new options, and who provided sample
implementation code.
Change 12.083 If an invalid value was specified for INTERVAL=, it was
VMXGDUR ignored without any warning; now a warning message is
Jul 1, 1994 printed on the log.
Change 12.082 If TREND database was used for TMNT reports, the graphs
GRAFTMNT were useless since they were designed for daily reports.
Jul 1, 1994 This revision supports TREND data base reporting.
Change 12.081 Analysis of Measured Usage uses both the new TYPE89 and
ANALUSAG existing TYPE72 data to calculate the "bands" for usage
Jul 1, 1994 based pricing of IBM software products. For TYPE89 the
real product name is used; the analysis based on TYPE72
uses the workload definition in IMACWORK to name the
"product". This report will be revised when IBM makes
their report format available.
Change 12.080 Batch LSR analysis could report I/O exceeded 100% if the
ANALBLSR pattern of utilization of a VSAM cluster by multiple runs
ANALDSET of the same job changed, because average value was used.
Jul 1, 1994 This revision uses the sums to accurately calculate the
percentage of I/O attributable to a given component.
Also, it turns out that turning on BLSR suppresses the
Buffer Count in TYPE64 dataset, so those reports were
eliminated, as they were useless!
Thanks to Freddie Arie, Enserch Corporation, TEXAS.
Change 12.079 DB2 3.1 support was enhanced in Change 12.033 for the new
READDB2 buffer pools in the building member VMACDB2. This change
ASUMDB2A adds that support to the READDB2 utility and to the
TRNDDB2A DB2 Accounting summary and trending members.
VMAC102
Jul 1, 1994
Change 12.078 Using ANALDB2R with PDB= on tape was inefficient; it
ANALDB2R could cause three passes of the tape, especially when
Jul 1, 1994 ACCOUNTING reports were requested and neither ASUMDB2A
nor DB2ACCT was found on the first tape volume. The logic
was changed: if we see the PDB= points to a tape dataset,
we now look only for the PDB.DB2ACCT dataset, unless you
explicitly tell us to use the PDB.ASUMDB2A (by specifying
USEACCT=ASUM option in your %ANALDB2R invocation).
The old logic looked first for ASUMDB2A, and if not found
then looked for DB2ACCT, requiring multiple passes of the
PDB= when on tape. While our example JCL in JCLPDB6 does
build the PDB.ASUMDB2A, we can't guarantee you did so, so
we by default go for PDB.DB2ACCT. (The PDB.ASUMDB2A is
smaller and the preferred source, so if it exists it is
wise to specify USEACCT=ASUM for PDB=tape). This change
does cause new messages on the log:
NOTE: DATA SET ... HAS NOT BEEN DEALLOCATED ...
NOTE: LIBREF PDB HAS BEEN DEASSIGNED.
PDB LIBNAME WAS CLEARED TO CHECK DEVICE TYPE.
because to detect if the PDB= points to tape, we must
first open the DDNAME as an INFILE and then clear it!
Change 12.077 The vertical axis specification on the workload plots was
GRAFTRND removed; if the normalization of CPU time or the
Jul 1, 1994 predicted workload growth exceeded 100%, the workloads
disappeared from the graph as they passed 100.
Change 12.076 If SASGRAPH=NO was specified when you invoked GRAFWORK,
GRAFWORK the numbers for CPUTM and % CPU were cumulative totals
Jul 1, 1994 rather than the values for individual observations.
Also, values of EXCPs, IOTM, and MEMR were added to
Thanks to Tom Bell, Rivendel Consultants, USA.
Change 12.075 Type 30 APPC segment offsets should be zero in
VMAC30 MULTIDD='Y' records, but they are not, causing MXG to
Jun 30, 1994 input values in APPC variables. This is an IBM error,
and APAR OW07036 now has PTFs UW09744-UW09746.
If you use TYPE30_4, TYPE30_5 or PDB.STEPS to analyze
APPC resources, you can delete observations with
MULTIDD='Y' and the APPC resource analysis will be valid,
but any EXCP counts in those MULTIDD records will be
lost. However, this MXG fix eliminates the error, and
will work even after IBM fixes the problem: - After the
@; following the input of @101+OFFSMF EXTRADD
insert these two lines:
IF SUM(0,NRUREC,NRCOMP,NRCPU,NRSTOR,NRPERF,NROPER)=0
AND SUBTYPE NE 1 THEN MULTIDD='Y';
- After the END; after the DO group that sets OFFAPPC,
LENAPPC and NRAPPC equal to OFFAPPCC,LENAPPCC,NRAPPCC,
insert this DO group:
IF MULTIDD='Y' THEN DO;
OFFAPPC=.;
LENAPPC=.;
NRAPPC=.;
END;
Thanks to Bill Keller, West Publishing, USA.
Change 12.074 Several DCOLLECT flag variables that were set to 0 or 1
VMACDCOL for NO or YES are now formatted with MGLMSYN and their
Jun 30, 1994 labels now end with a question mark to clarify that they
are YES/NO values. The variables are these:
DSCDFACC DSCDFAVL DSCDFGSP DSCDFSDR DSCFDIRB DSCFDIRR
DSCFIAD DSCFSEQB DSCFSEQR DSCSYNCD
Thanks to Joe Faska, Depository Trust, USA.
Change 12.073 Type 6 may cause INVALID SUBSTR FUNCTION because variable
VMAC6 RLSELEFT should be FORMATed $HEX16. instead of $HEX8.
Jun 29, 1994 (the FORMAT statement is the first occurrence of this
variable and thus determines the variable's length).
The error occurs only if you have modified JES2 to create
the print release time as described in Change 7.137.
Thanks to Andy Vick, Allied Dunbar Assurance, UK.
Change 12.072 ACF2 SMF record subtype 'V' had INPUT STATEMENT EXCEEDED
VMACACF2 error because DB2 and NEXTKEY segment logic was wrong. To
Jun 29, 1994 circumvent (with no data loss), change the statement
INPUT ACVMFSEC $EBCDIC18. @; to read
INPUT ACVMFSEC $EBCDIC8. @;
The actual code change was more extensive. Additionally,
ACF2 SMF record subtype 'D' printed a note: RECORD TYPE
D, EXCESS DATA AT END SKIP=7 on the log. This had no
impact (NEXTKEY data was not read, but is not kept) but
logic for this subtype was also corrected.
Thanks to Russell Ochocki, Investors Group, CANADA.
Change 12.071 Trending of ASUM70PR PR/SM dataset did not support LPAR
TRND70PR 0; replicate occurrences of LPAR 1 variables and change 1
Jun 28, 1994 to zero to include LPAR 0 in TRND70PR (only Amdahl's MDF
uses LPAR zero).
Thanks to John Chan, The Toronto Hospital, CANADA.
Change 12.070 Support for IBM's CRR 1.6 (Cache DASD RMF Reporter) SMF
FORMATS record. The record format was incompatibly changed by
VMACACHE the 1.6 release. Note that if you run a 3990-6 in Basic
Jun 27, 1994 mode, you can't tell that it's a mod-6, because
REPORLVL=03. If you enable the 3990-6 in Enhanced mode,
REPORLVL=06 and the mod-6-only fields will be
non-missing.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Thanks to Scott Ashby, Wachovia Operational Services, USA.
Change 12.070A NDM data created zero observations in NDMCT dataset, due
EXNDMCT to misspelling in member EXNDMCT. All occurrences of
Jun 23, 1994 NDMST in that member should have been NDMCT.
Thanks to Freddie Arie, Enserch Corporation, TEXAS.
Change 12.069 VM/ESA MONWRITE processing has caused UNEXPECTED/INVALID
VMACVMXA CONTROL RECORD and PROBABLE DATA LOSS DUE TO MONWRITE
Jun 23, 1994 FAILURE when the end of data was at the end of block with
Jul 6, 1994 a 1.13 record; the MXG logic was not sufficiently robust.
To correct the MXG error, find the second occurrence of
BYTELEFT=BYTELEFT-MRHDRLEN; and insert these four lines
after that statement:
IF BYTELEFT LE 0 THEN DO;
BYTELEFT=0;
NRCRRECS=NRCRRECS-1;
END;
Thanks to Ricky Valeroso, City of New York - CDCSA, USA.
Change 12.068 Boole & Babbage CICS Statistics record subtype 0BB02x has
VMAC110 been suppressed by recent IBM CICS changes, causing these
Jun 23, 1994 special records to not be written. Boole's PTFs BPC2347
and BPC2348 change their subtype value to 00B02x, and MXG
test was changed to IF SUBTYPE=0BB02X OR SUBTYPE=00B02X
to support either value.
Thanks to Bill Gecci, Boole and Babbage, USA
Change 12.067 New Measured Usage datasets TYPE89 and TYPE30MU are built
BUILDPDB automatically in BUILDPDB/BUILDPD3. This change was made
BUILDPD3 in MXG 12.01, but the change was not noted in CHANGES.
Jun 23, 1994
Change 12.066 INFOPAC variables REQSTART and REQEND may be incorrect
VMACIPAC for some subtypes - changing the test IF SMFIPSTP NE 1
Jun 23, 1994 THEN to read IF SMFIPSTP NE 4 has cured the problems.
Thanks to Ron Bleeden, Jewel, USA.
Change 12.065 Variables INTBTIME & INTETIME will be missing in interval
VMAC30 TYPE30_V/PDB.SMFINTRV observations which have MULTIDD='Y'
Jun 23, 1994 if you are at MVS/ESA 4.2 or earlier. The GMT
corrections following setting MULTIDD='Y' in VMAC30 must
be executed only if GMTOFF30 is non-missing:
IF GMTOFF30 GT . THEN DO;
INTBTIME=INTBTIME+GMTOFF30;
INTETIME=INTETIME+GMTOFF30;
END;
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Change 12.064 No IPLS/TYPE0 observations with MVS/ESA 5.1 SMF data (but
VMAC0 MXG did print an error message on the log), or a short
Jun 22, 1994 type 0 record could still cause an INPUT STATEMENT EXCEED
Jul 19, 1994 message, because the tests for LENGTH were incorrect.
-In MXG 11.11, change the line reading IF LENGTH GT 31 ...
to read IF LENGTH-OFFSMF NE 31 AND LENGTH-OFFSMF NE 56 ..
-In MXG 12.01 or 12.02, the first LENGTH test should read:
IF LENGTH-OFFSMF NE 31 AND LENGTH-OFFSMF NE 56 THEN DO;
and the second LENGTH test should now read:
IF LENGTH-OFFSMF GE 56 THEN
and the INPUT of SYSPLEX should be @49 instead of @39.
This text was revised between 12.02 and 12.03.
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Thanks to Mike Skopec, Platinum Systems, USA.
Change 12.063 ACF2 variables LIDCDATE,LIDDXPDT,LIDIPDAT and LIDADATE
VMACACF2 can contain hex zeros, causing INVALID DATA messages. By
Jun 23, 1994 inserting double-questionmarks between the variable name
Jul 19, 1994 and the &PD.4. input format, the messages and hex dump
will be suppressed and the variables still set to missing
when these dates do not exist. This change was revised;
the first two variables were corrected in MXG 12.02, the
final two were corrected in MXG 12.03.
Thanks to Phil Seale, Central Regional Council, UK.
Change 12.062 Variable QTPKALL should have been DIF()ed, in addition to
DIFFDB2 variable QTPKALLA, which was already in the DIF() list.
Jun 22, 1994 Without this change, QTPKALL will contain wrong values.
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Change 12.061 PDB.JOBS variable RESTARTS may be incorrect for a small
BUILDPDB number of jobs on the day you implement MXG 11.11, due to
Jun 22, 1994 change 11.269, which renamed MULTIDD to MULTIDD5 for the
SPIN30_5 logic, but didn't protect existing observations
in SPIN30_5 on the first execution. If there were no
MULTIDD records in the SPIN.SPIN30_5, there is no error.
If the SPIN.SPIN30_5 dataset that you are going to use
for the initial run with MXG 11.11 has the variable
MULTIDD instead of MULTIDD5, and if there are any
observations with MULTIDD='Y', and if those jobs are
matched up by the first execution of BUILDPDB, the count
of RESTARTS will be incorrect, but the count will be ok
on all subsequent days. If you really want to correct
this obscure error, you should rename variable MULTIDD in
your SPIN.SPIN30_5 dataset to MULTIDD5 and then run your
first MXG 11.11 BUILDPDB execution. This might not have
been noticed, but it happened to a TSO session, and
RESTART greater than 1 should not occur for TSO!
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Change 12.060 If you needed more than 3 account fields in your PDB, you
IMACPDB had to change IMACPDB, because it (incorrectly) limited
Jun 22, 1994 the number of fields to three. Since MXG 8.8, member
IMACACCT is where you control how many account fields you
keep, so this change only revises IMACPDB so it now has
ACCOUNT1-ACCOUNT9 and SACCT1-SACCT9 specified; that way,
your definition of kept account fields in IMACACCT will
always be in control.
Thanks to Tom Parker, Hogan Systems, Inc, USA.
Change 12.059 Type 6 records from VPS product have UCS='VPS' but had a
VMAC6 SUBSYS='JES2'. Because it may be important to know which
Jun 22, 1994 subsystem created the type record, MXG now sets variable
SUBSYS='VPS ' if UCS=:'VPS';
Thanks to Chuck Hopf, Primerica, USA.
Change 12.058 The MXG Tape Allocation and Tape Mount Monitor, ASMTAPES,
ANALTALO (which replaces the MXG Tape Mount Monitor, ASMTMNT) has
ASMTAPES been fixed and has been running at two MVS/ESA sites, one
ASUMTALO with both SMS and MIM, for two weeks without any ABEND!
BUILDPDB The monitor creates an SMF record for each tape drive
BUILDPD3 allocation event, so actual tape drive usage is measured,
BUILD002 even for dynamically allocated drives, and it creates an
GRAFTALO SMF record (same ID, different subtype) for each tape
TRNDTALO mount event, so human and silo efficiency is measured.
Jun 17, 1994 MXG member TYPETMNT creates three datasets from the SMF
record: TYPETALO for Tape Allocation, TYPETMNT for Tape
Mounts, and TYPETSWP for Tape Error Swaps. Both TYPETMNT
and TYPETSWP are already automatically created in the PDB
by BUILDPDB/BUILDPD3; now PDB.TYPETALO will also exist in
your PDB library. Members ASUMTALO/TRNDTALO provide the
summarization and trending logic, while ANALTALO/GRAFTALO
provide sample printed and graphical reports, and the CPU
cost of the monitor is minimal. See Change 12.105.
Thanks to Bob Kinney, Kaiser Permanente, USA.
Thanks to Chuck Hopf, Primerica, USA.
Thanks to Bill Fairchild, Royal Software Associates, USA.
Change 12.057 Final support for DFSMS 1.2 added a few variables that
VMACDCOL were not in earlier APARs:
Jun 17, 1994 Dataset DCOLDSET variables DCDBDSZ DCDCCSID DCDCUDSZ
DCDDDMEX DCDEXFLG DCDOVERA DCDUDSIZ
Dataset DCOLCLUS variable DCANSTAT
Dataset DCOLMIGS variable UMSDSP
Thanks to John Maher, Home Savings, USA.
===Changes thru 12.056 were in MXG PreRelease 12.01A dated Jun 15, 1994=
Change 12.056 Support for MEMO subtype 6 SMF record creates new dataset
EXTYMEML MEMOLIST. Code was originally added as member XMACMEMO
IMACMEMO in MXG 12.01A, untested, but now has been verified and
VMACMEMO has replaced VMACMEMO in MXG 12.03.
Jun 15, 1994
Jul 7, 1994
Thanks to Jukka Suhonen, VTTK, FINLAND.
Change 12.055 MXG 12.01 only. Change 12.047 DASD RESP changes were not
ANALRMFR spelled right, causing uninitialized variable messages
Jun 15, 1994 and non-printing of the summary report.
Change 12.054 Variables MNSMFTME and MXSMFTME are not kept by MXG and
VMACSMF thus were not in the LENGTH 8 list, but if you were to
Jun 14, 1994 keep them, the LENGTH DEFAULT=4 would cause truncation of
their datetimestamp values, so they are now added to the
LENGTH 8 list in macros _SMF and _SMFTEMP in VMACSMF.
Thanks to Graeme Yeandle, British Telecom, UK.
Change 12.053 Division by Zero was not protected for the calculation of
VMACNSPY T1RSPPC-T4RSPPC when TRANSNO was zero; that block of code
Jun 14, 1994 has now been protected.
Thanks to Jim Wertenberger, Blue Cross Blue Shield of Ohio, USA.
Change 12.052 MXG 12.01 only. The OUTPUT _LDB2ACC in exit member
EXDB2ACB EXDB2ACB should have read OUTPUT _LDB2ACB instead. (Only
VMACDB2 if you used new Buffer Pools would there have been any
Jun 12, 1994 actual problem). See Change 12.033.
Unrelated, I changed the ID=0 statement before IMACACCT's
%INCLUDE in VMACDB2 to a "faker" for better cosmetics.
Thanks to Chuck Hopf, Primerica, USA.
Change 12.051 DCOLLECT variable DCDNMBLK in dataset DCOLDSET is wrong;
VMACDCOL it needs to be multiplied by 1024. Insert a line for
Jun 12, 1994 DCDNMBLK immediately following DCDSCALL=1024*DCDSCALL;
Additionally, add variables DCAHURBA DCAHARBA and DCAASP
to the MGBYTES format list, to be consistent with other
variables that measure space allocated/used.
Thanks to Mark Mustoe, Nestle Foods, USA.
Change 12.050 In 12.01, new dataset TYPE30MU was not protected in the
ANALDSET IEBUPDTE step. Replicate the two "30OM" lines and change
Jun 4, 1994 "30OM" to "30MU".
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.049 TCP APAR PN34837 added 8 undocumented bytes to the TELNET
VMACTCP Server record - the datetimestamp of LOGF. Variable
Jun 3, 1994 TELLOGFT now contains that value.
Thanks to Barry Pieper, Norwest Technical Services, USA.
Change 12.048 INVALID NUMERIC DATA 'SAT' can occur in ASUM70PR if you
ASUM70PR modified IMACRMFI using the example in comments that uses
IMACRMFI the variable named "DAY". Unfortunately, changes made to
Jun 3, 1994 VMXGDUR (which is invoked internally by ASUM70PR) now use
the variable named "DAY" as a numeric variable, causing
the error message. Since the problem only arises if you
have modified IMACRMFI, you can change "DAY" in IMACRMFI
to "DAYSHIFT" to eliminate the conflict. I have changed
the example in comments to now show "DAYSHIFT".
Thanks to John Chan, The Toronto Hospital, CANADA.
===Changes thru 12.047 were in MXG PreRelease 12.01 dated Jun 1, 1994===
Change 12.047 The RMF-look-alike CPU Activity report may show BUSY TIME
ANALRMFR of zero (but the Summary CPU times are correct) due to
Jun 1, 1994 incorrect logic. Change:
Jun 2, 1994 IF CPEF(I) NE . THEN DO; to IF CPEF(I) GT 0 THEN DO;
then 35 lines later, change
IF PEFT(I) NE . THEN ... to IF PEFT(I) GT 0 THEN ...
then 19 lines later, change
IF LPARNAME =: ' ' THEN DO; to
IF LPARNAME =: ' ' OR TOTEFV LE 0 THEN DO;
On the Summary Report, the "DASD RESP" was incorrect; MXG
included both Tape and DASD in its calculation (but on
Device reports the device and LCU detail was correct).
The DASD RESP fix was not included in the Jun 1 tapes.
Thanks to Linda Carroll, American Software, USA.
Change 12.046 Variables TSO2SWAP TSO3SWAP TSO4SWAP TSO2TRAN TSO3TRAN
TRNDRMFI and TSO4TRAN were left out of the NORM1= argument list,
May 25, 1994 and were incorrect in the TREND.TRNDRMFI dataset.
Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.
Change 12.045 "Performance Management in a DFSMS/MVS World" GG66-3252,
VMAC42 by IBM's J.P. Burg is an excellent discussion of use of
May 25, 1994 the new SMS data in type 42 SMF records. Six variables
that he uses in that manual are now created in TYPE42DS
(data set detail) and TYPE42SR (storage class) datasets:
DASDMPL CACHRATE DASDRATE HITPCT CHITPCT CIOPCT
Take a look at John's analysis and discussion!
Change 12.044 This report member has been revised, but work is still in
ANALRACF progress - the PROC TRANSPOSE still raises an error. The
May 24, 1994 text of this change will be revised when report is fixed.
Sections WPDBRACF,WRACCMDS, and WRACLINK were revised.
Change 12.043 The "Candidates to be moved" report of tape data sets is
ANALTMS5 revised so that tape GDGs will be reported as the root
May 24, 1994 name, without the GooVoo, and the estimate of tape feet
will include all volumes in the GDG.
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 12.042 The ANALTAPE analysis of tape drive allocation has been
ANALMNTS updated to report on 3490 tape drive counts; however, it
ANALTAPE will never be as accurate as ASMTAPES analysis, when that
May 24, 1994 Tape Allocation monitor is fully validated! The archaic
ANALMNTS, which can only calculate average tape mount
time, and which has been effectively replaced by ASMTMNT,
was also updated to recognize 3490 tape mounts.
Thanks to Richard S. Ralston, Whirlpool Corporation, USA.
Change 12.041 Recognition of TCP/IP event type in SMF type 118 record
VMACTCP was based on the 4-byte string test, but TELSERVER value
May 24, 1994 of 'LOGN' and FTPSERVER value of 'LOGNSEQ' looked same,
so the logic was revised to use the length of the record
(38-44 is API, 72-86 is TELNET, 194-200 is FTP). While
there is a subtype value in the record, it is not fixed
(you specify it, with different parameters, in different
TCP/IP files, with different syntax, so for me to use it
you would have yet another MXG table to update to tell
me what you chose!), so I chose to use record length and
command string to eliminate the ambiguity. I also noted
there are 8 undefined bytes at the end of the TELNET
record that I am investigating.
Thanks to Barry Pieper, Norwest, USA.
Change 12.040 The %VMXGSUM invocation requires the addition of
ASUMPRTR KEEPIN=STDUPLEX TMBUPLEX,
May 24, 1994 to eliminate the UNITIALIZED VARIABLE condition.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.039 Member IEBUPDTE now contains both the IEBUPDTE.BAS BASIC
IEBUPDTE program and the IEBUPDTE.SAS program that will create a
May 24, 1994 separate file (named "member.SAS") for each PDS member
of the mainframe source library that was downloaded, as
described in MXG Newsletter TWENTY-FIVE. As any believer
knows, the SAS program was faster (26 minutes versus 66
minutes for MXG 11.11) than the BASIC program!
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Change 12.038 Support for BatchPipes/MVS APAR PN45746, which adds local
VMAC91 timestamps for interval begin/end, and for first/last
May 24, 1994 access for the input and output pipe connections.
Change 12.037 Support for AS/400 Transaction Summary Trace File QTRTSUM
ADOCQTRT is added by this user contribution, which has been tested
EXQTRTSU with OS/400 Version 2 Release 2. Instructions for this
IMACQTRT data source are in member ADOCQTRT.
TYPEQTRT
VMACQTRT
May 24, 1994
Thanks to Colin Adams, ENGLAND.
Change 12.036 APAR OW00484 adds Date of Open to TYPE1415 (finally!), so
ANALDSET now OPENTIME will be correct (prior to this APAR, I could
VMAC1415 only use the record' SMFDATE, or SMFDATE-1 if open time
May 24, 1994 was later than SMF time). Variable OPENTM is now created
with the correct duration of open (but only if the APAR
is installed - OPENTM will be missing if OPENTIME is not
based on a true Date of Open). Also, OPENTM was added
to the variables kept in ANALDSET analysis.
Change 12.035 The CICS Shutdown reports delivered in MXG 11.11 are now
ANALCISH revised so that report selection matches IBM's DFHSTUP
May 23, 1994 program (i.e., so that only EOD reports can be selected -
the original report printed everything, EOD, INT, etc, if
those records were found), and individual datasets are
now created for each report (instead of a single dataset
that could require massive WORK space), and the errors in
Change 12.005 are also corrected by this revision. The
comments in the new member describe the new parameters.
Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.
Change 12.034 Support for MVS/ESA 5.1.0:
BUILDPDB -TYPE0 new variables
BUILDPD3 PRODNAME - SMF Product Name
BUILD003 SYSNAME - System Name from IEASYSxx member
EXTY44 SYSPLEX - Sysplex Name from COUPLExx member
EXTY72GO -TYPE6 new variable
EXTY7204 CUTSHEET - flag if Cut Sheet Printer
EXTY74CF -TYPE23 new variables
EXTY74ST SYSNAME - System Name from IEASYSxx member
FORMATS SYSPLEX - Sysplex Name from COUPLExx member
IMAC44 -TYPE30_4,TYPE30_V new variables
IMAC7072 IEFUSICH - Flag if IEFUSI changed Region Size
IMAC74 WLMNAME - Workload Name
IMACPDB RESGROUP- Resource Group Name
IMACWORK RPTCLASS- Reporting Class Name
MONTHBLD SRVCLASS- Service Class Name
RMFINTRV SYSNAME - System Name from IEASYSxx member
VMAC0 SYSPLEX - Sysplex Name from COUPLExx member
VMAC6 -TYPE30OM new variables
VMAC23 OMVSEXNP - OMVS Executed Program Name
VMAC30 OMVSOPP - OMVS Parent Process ID Number
VMAC44 OMVSOKR - OMVS I/O Blocks read for remote Socket
VMAC7072 OMVSOKW - OMVS I/O Blocks written for remote Socket
VMAC71 -TYPE30MU new dataset for Measured Usage - See 12.028
VMAC73 -TYPE32 new variables
VMAC74 SYSNAME - System Name from IEASYSxx member
VMAC79 SYSPLEX - Sysplex Name from COUPLExx member
VMAC89 -New type 44 Subsystem Modify Record creates TYPE44
WEEKBLD SMF44PRC - SS06 Proc Name
Feb 14, 1994 SMF44OPT - Initialization Options
May 23, 1994 -TYPE71 new variables
PGBKLPA - LPA Block Page Page-ins
PGBKSYSA - System Pageable Areas Block Page-ins
-TYPE72 new datasets:
TYPE72GO - Goal Mode (Equivalent of TYPE72)
This dataset is of major importance when Goal Mode
is used, as it replaces the TYPE72 data for resources
by Service Class. TYPE72GO is merged in with RMFINTRV
so that correct CPU utilization is constructed whether
you are in Goal Mode or Compatibility Mode.
There are five kinds of observations in TYPE72GO:
I. Address Space Service Class
(Criteria: R723CRCA='Y' AND NOT RPRTCLAS='Y').
=1. Response Time Goal Sub-Class
(Criteria: Has RTS Section)
RESOURCES + RESPONSE-DIST
=2. No Response Time Goal Sub-Class
(Criteria: Has no RTS Section)
RESOURCES
II. Transaction Service Class
=3. (Criteria: Has WRS Section).
RESPONSE-DIST + WM-STATES
III. Report Class
(Criteria: RPRTCLAS='Y').
=4. Address Space Sub-Class
(Criteria: R723CRCA='Y').
RESOURCES
=5. Transaction Sub-Class
(Criteria: R723CRCA NE 'Y').
Only TRAN count from resources.
Variable R723TYPE has value 1 thru 5 to identify what
kind of TYPE72GO observation you are dealing with.
Note that just like we had Report Performance Groups,
Goal Mode has Report Classes in addition to Service
class, and resources in a Report Class record have
already been reported in the task's Service Class.
One bright spot - work can only be reported in one
Report Class. The dim spot - there is no fall-thru
report class created if you define a report class,
so you can't sum Report Class data and be sure you
have all work in a report class, so MXG still must
use only Service Class (not Report Class) to build
the workload variables in RMFINTRV. Member IMACWORK
has been revised, and you must specify what Service
Class is what workload for Goal Mode, just like you
specify what Control Performance Group is what for
compatibility mode. MXG defaults do try to recognize
workload by your Workload Name. The observation is
a Report Class if RPRTCLAS='Y', or is a Service Class
if RPRTCLAS=' '.
TYPE7204 - Subtype 4
This is the RMF Monitor III data for Goal Mode, much
like TYPE72MN was for Compatibility Mode. Sampled
workload delay statistics and swap counts by all 17
swap reasons are captured for each period of each
service class monitored.
-TYPE73 new variable
SMF73CPD - Channel Path Description
-TYPE74 new datasets from new subtype 4:
TYPE74CF - Coupling Facility Utilization
This dataset is a mini-RMF for the Coupling Facility,
with:
-per-engine CF CPU utilization;
-Storage defined and free for Control, CF, and Dump
Space Storage, Dump Space defined and used,
-Path and subchannel use and contention counts, busy,
duration of delay for unsuccessful requests
-List of each structure and its size that is allocated
to this Coupling Facility. See TYPE74ST dataset.
TYPE74ST - Coupling Facility Structure Request Activity
For each Connected Structure to this CF, the request
activity is provided. Multiple observations in
TYPE74ST can be matched to their parent TYPE74CF
observation BY SYSTEM STARTIME R744FNAM. Contains:
-Requests, both SYNC and ASYNC, and separate durations
for service for SYNC and ASYNC, and for delays due to
queue delay, dump delay, high or low priority queue,
and min/max counts for hi and low priority queues and
dump serialization, plus lock contention counts!
-TYPE89 new record for Measured Usage Pricing was added to
BUILDPDB/BUILDPD3/etc. See Change 12.028.
Status:
Almost all records are now supported, and compatibility
mode data verified. Goal mode data has now been validated
and omissions in the first release were corrected. The
RMFINTRV member now processes either GOAL or COMPATIBLITY
mode type 72 data. Note that IBM thinks there may still
be some incorrect values in some of the data fields.
It's really nice to have new records to test with!!!!!
b. MVS/ESA 5.1 changes were compatibly made, so this
prerelease is required only to support new facilities,
i.e., CPU measurement of Goal Mode requires prerelease.
c. These new records have not been added to this PreRelease.
TYPE90 Subtype 10 coded, not yet described herein
TYPE90 Subtype 23 coded, not yet described herein
TYPE90 Subtype 24 WLM - not yet coded -
TYPE90 Subtype 25 coded, not yet described herein
TYPE92 - OMVS File System activity 11 subtypes not coded.
TYPE99 - WLM data - subtype 2 decoded in MXG 12.03.
Final notes: I spent a lot more time on the code than on this
documentation. Please feel free to fax/call if you see problems
with the data, but I feel real confident about the core of the
change.
I am extremely impressed with the design of the new Workload Manager,
and while migrating to Goal Mode may take a little planning, I am
convinced it is the righteous thing to do as soon as its ready;
it's architecture is clearly what we wanted from MVS all along!
See my note on this subject on page 2 of MXG Newsletter TWENTY-FIVE.
INCOMPATIBILITY NOTE: These IMACs were changed to add new
datasets and to support the Workload Manager:
IMAC7072 IMAC74 IMACWORK IMACPDB
If these members exist in your MXG tailoring library, you
MUST retrofit your changes to the new IMAC member, or you
will get "variable GOALMODE not found" errors in RMFINTRV
or "dataset not found" errors in the other members.
Change 12.033 DB2 Version 3.1 support was not completely correct in MXG
DIFFDB2 11.11. The Buffer Pool variables QBnCaaa in DB2ACCT are
EXDB2ACB all wrong (misaligned, because a new reserved field was
EXDB2STB not skipped), and in both DB2ACCT and DB2STATS, the new
IMACDB2 buffer pools (BPID =3 thru 49 for 4K pool, BPID=81-89 for
VMACDB2 32K pools) were not recognized. In addition, DB2STATS
May 23, 1994 did not correctly de-accumulate most of the variables new
in DB2 Version 3.1. If you have not exploited DB2 3.1,
and still have only BP0, BP1, BP2 and BP32 defined, you
can correct the DB2ACCT variables QBnCaaa by changing the
sixteen lines reading INPUT (QBnCGET QBnCSWS ...
to read INPUT (QBnCGET QBnRSVD QBnCSWS ..
However, if you have exploited DB2 3.1 and have defined
the new buffer pools, both DB2ACCT and DB2STATS will now
include the new buffer pools in the existing MXG variable
groups, as described below. Additionally, the interval
statistics for each buffer pool are now provided in the
new DB2STATB dataset. Furthermore, the detail activity
counts for each buffer pool used by each plan execution
are available in the new DB2ACCTB accounting detail,
Nov 25, 1996 revision: Original text stated:
but as DB2ACCTB could be very large, MXG, by default,
does not output any observations in DB2ACCTB (because
the OUTPUT statement is commented out in member
EXDB2ACB). If you actually need the details in
DB2ACCTB, all you need to do is to remove the comment
block, as described in the comments, in member
EXDB2ACB. In that member, you can also conditionally
execute the OUTPUT statement so that only a specific
buffer pool and/or a specific plan name are output.
(This paragraph was revised 22Sep94).
New text: Now DB2ACCTB by default DOES have observations
since it turned out it's not really that large, so you do
not have to do anything
To compatibly support DB2 3.1's up-to-60 buffer pools in
MXG's existing DB2ACCT and DB2STATS datasets and ANALDB2R
reports, I simply redefined the meaning of the four sets
of buffer pool variables that already existed (in DB2ACCT
the variables are QBnCaaa, in DB2STATS they are QBnTaaa,
where n=1,2,3,4). The QB1 and QB2 sets of variables
still are the counts for the (4K) BP0 and BP1 buffer
pools respectively, but the QB3 set of variables (instead
of just containing counts for the (4K) BP2 pool), now
contain the SUM of the activity for all of the OTHER 4K
Buffer Pools (BPID 2->49), and the QB4 set of variables
(instead of just containing counts for the (32K) BP32),
now contain the sum of activity for ALL of the 32K Buffer
Pools (BPID=80->89).
INCOMPATIBILITY NOTE: IMACDB2 was changed to add the new
datasets. If you have modified IMACDB2 into your MXG
tailoring library, you must retrofit your changes using
the IMACDB2 from this MXG library.
Thanks to Tuomo Rahko, KOP Kansallistieto, FINLAND.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
Change 12.032 Dataset T102S196 for DB2 type 102 IFCID 196 Lock Timeout
VMAC102 Details record, which identifies holder and wanter(s) of
May 18, 1994 lock requests that resulted in the timeout of a DB2 task,
is now populated by this change. T102S196 contains all
details on the lock request that timed out, and identity
details of the first three holders of an incompatible
lock (the first three agents that caused the timeout.)
Thanks to Majid Abai, Southern California Edison, USA.
Change 12.031 STK's ICEBERG dataset ICEBRGCH is trashed, because there
VMACICE must be a "+1" before "INTENCUR $CHAR1." so that MXG
May 18, 1994 is properly aligned with each data segment. Let me point
out that STK, just like IBM, measures disk capacity in
"Million Bytes" and not "Mega-Bytes"; MXG always converts
sizes in bytes to Mega-, or Giga- bytes, so a 3380 with
a DASD capacity of 630 "Million Bytes" can really only
store 601 true "Mega Bytes" of data!
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.030 All instances of INPUT XXXXXXXX MSEC8. were replaced by
DOC INPUT XXXXXXXX &PIB.8.6 ... @; XXXXXXXX=XXXXXXXX/4096;
May 18, 1994 because the MSEC8. format sets XXXXXXXX to missing if the
value is greater than 24 hours! While SAS is aware of
this defect, it will not be corrected until SAS Version 7
and I couldn't wait that long! The specific case that
precipitated the error was a CICS Shutdown record which
had total wait time of 25 hours, but all occurrences were
changed (311 times in 29 members) just to be sure. (Note
that IBM's DFHSTUP report did not handle the 25 hour time
either - it reported only 1 hour!).
NOTE: MSEC8. PIB8.6/4096 CPU TIMER UNITS
Change 12.029 Labels for variables DS4VTOCE and DS4VTOCI were reversed.
VMXGVTOF
May 18, 1994
Thanks to John Taylor, Newport Management Corporation, USA.
Change 12.028 Support for Measured Usage License Charges new SMF record
EXTY30MU type 89 (MVS/ESA versions 3.1.3, 4.2, 4.3, and 5.1) and
EXTY89 enhancements to type 30 (MVS/ESA version 5.1 and later).
FORMATS The new architecture is well described by IBM in manual
IMAC30 GC28-1098-00. The new TYPE89 dataset has one observation
IMAC89 for each interval (default, and maximum, one hour) for
TYPE89 each "registered product" that had usage during that
VMAC89 interval. TYPE89 data will be summarized by IBM's IFAURP
May 18, 1994 reporting program to calculate total hourly product usage
Jun 24, 1994 daily, and then the fourth-largest daily-hour during the
month is used as the basis for Measured Usage Charges.
When IBM releases IFAURP, MXG will replicate the report.
For MVS/ESA 5.1 and later, new dataset TYPE30MU will
report on each address space that uses any "registered
product". This preliminary change is based only on the
documentation - no records are yet available to test!
Change 12.027 Candle's OMEGAMON for CICS 550/551 user SMF record DSECT
VMACOMCI was wrong, affecting the contents of OMCISYST dataset.
May 17, 1994 New variable SMRECNT (count of transactions) is created,
and fields are now correctly input. Change these lines:
SMOASID &PIB.2. /*ADDRESS SPACE ID */
SMRES3 $EBCDIC6. /*RESERVED AREA */
SMOFLGS &PIB.4. /*SYSTEM FLAGS -- */
SMRES4 $EBCDIC3. /*RESERVED AREA */
SMCVTTZ &PIB.4. /*GREENWICH MEAN TIME OFFSET */
to read:
SMOASID &PIB.2. /*ADDRESS SPACE ID */
SMRES3 $EBCDIC2. /*RESERVED AREA */
SMOFLGS &PIB.4. /*SYSTEM FLAGS -- */
SMRECNT &PIB.4. /*output transaction rec count*/
SMCVTTZ &PIB.4. /*GREENWICH MEAN TIME OFFSET */
and add SMRECNT to KEEP= list for OMCISYST.
Thanks to Linda S. Berkley, Amdahl, USA.
Change 12.026 Jobs with JCL errors before execution (i.e., ABEND='JCL')
BUILDPDB were not output in PDB.JOBS; they are in PDB.NJEPURGE due
BUILD005 to Change 11.226. Find
May 17, 1994 ((INREASON=' ' OR INREASON='JR' OR INREASON='JT')
and change it to read
((INREASON='JR' OR INREASON='JT')
Thanks to Jack Hwang, Great American Reserve Insurance Co., USA.
Thanks to Jerry Byers, Great American Reserve Insurance Co., USA.
Change 12.025 TYPE26J2 INPUT STATEMENT EXCEEDED error due to truncated
VMAC26J2 type 26 SMF record; field SMF26NRA does not exist in the
May 17, 1994 record in at least one MVS/ESA 4.3 site (although it does
exist at other sites). To circumvent, replace two lines:
SMF26NRA &PIB.1.
@;
with these two lines:
@; IF SMF26LN8 GT 2 THEN INPUT SMF26NRA &PIB.1. @;
ELSE SMF26NRA=0;
The actual MXG change was more extensive.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 12.024 MXG Tape Allocation and Mount monitor ABENDs were caused
ASMTAPES by a typo, wrong field was moved into LOCLINFO (which
May 17, 1994 caused INPUT STATEMENT EXCEEDED in TYPETMNT), and STIMER
loop was relocated to reduce CPU cost (ASMTAPES now takes
about twice the CPU time to monitor both tape mounts and
tape allocations as ASMTMNT to monitor just mounts).
-Find the two lines:
L R5,QBDFELMP-QDB(,R1) GET 1ST ELEMENT IN QUEUE
LTR R1,R1
and change the second line to read
LTR R5,R5
Be careful to change the correct LTR instruction, as
there is a valid LTR R1,R1 just three lines earlier.
This is the typo causing the SRB abends in the monitor.
-Find LOCKLOOP EQU *
Delete that STIMER, and then four lines later, find and
replace the line BNZ LOCKLOOP with these four lines:
BZ UNLOCKED
STIMER WAIT,BINTVL=THETIME
B LOCKLOOP
UNLOCKED EQU *
This change eliminated the high CPU utilization
-Find and delete the line:
MVC SRUSER,JCTUSER
Find the two lines:
SPACE 1
MVC SRRSTM,JMRENTRY READER START TIME
and insert a third line as shown below:
SPACE 1
MVC SRUSER,JMRUSEID LOCLINFO FIELD
MVC SRRSTM,JMRENTRY READER START TIME
Change SMFUSER DS CL7 to SMFUSER DS CL8
Change SRUSER DS CL7 to SRUSER DS CL8
This correction solved the TYPETMNT record error.
May 25, 1994 status:
The monitor now only occasionally fails, and we are
examining dumps of two allocation events that are the
cause - TMS initialization of tape volumes, and when an
ATL doesn't have a tape volume in the library. The
earlier concern for MIM and SMS see unwarranted, as the
monitor is now functioning in those environments.
Thanks to Bob Kinney, Kaiser Permanente, USA.
Change 12.023 CICS Statistics dataset CICLSRR index variables will be
VMAC110 wrong if all LSR pools do not have indexes; an LSR pool
May 15, 1994 without indexes will have index variables from the prior
LSR pool that did have indexes, because MXG did not
set missing the index variables when A08FLAGS NE 'Y'.
To correct, all index variables that were INPUT in the DO
group IF A08FLAGS='Y' THEN DO; are now set missing in
the immediately following ELSE DO; group.
Thanks to Anita A. Bradley, Virginia Power, USA.
Change 12.022 This utility to convert character variables containing
UTILCVRT Hex (Binary) data from ASCII back to EBCDIC was listed in
May 10, 1994 Newsletter TWENTY-FIVE, but did not exist in MXG 11.11;
it now exists and is self-documenting.
Thanks to Damian Stevenson, Policy Management Systems, AUSTRALIA.
Change 12.021 This utility to count CICS type 110 records by APPLID
UCICSCNT produces unclear counts, because there must be an
May 9, 1994 OUTPUT; statement just before the last END;
Thanks to Chris Powell, Vancouver Stock Exchange, CANADA.
Change 12.020 CICS Statistics dataset CICDBUSS variables STACTIME and
VMAC110 STADTIME were missing, because their INPUT should have
May 5, 1994 been TODSTAMP8. instead of MSEC8.
Change 12.019 Type 42 subtype 14 record (ADSM) offsets have now been
VMAC42 corrected by IBM, causing INVALID ADSM SECTION TRIPLET
May 4, 1994 message, and MXG typing errors caused incorrect values.
After first ELSE IF SUBTYPE=14 THEN DO; delete the line
OFFPROD=OFFPROD+4;
After the second ELSE IF SUBTYPE=14 THEN DO; change line
OFFADSM=OFFADSM+1+OFFSMF; to now read
OFFADSM=OFFADSM-3+OFFSMF;
In the INPUT statement for SUBTYPE=14, the final period
is missing from the input format for YYYY (&NUM.4 must be
&NUM.4.) and for MO,DD,HH,MM,SS (&NUM.2 must be &NUM.2.).
Thanks to Harry Price, Florida Power and Light, USA.
Change 12.018 Type 30 Interval records with MULTIDD='Y' do not have a
VMAC30 CPU section, which is where the GMT offset is stored, and
Apr 22, 1994 thus INTBTIME and INTETIME were not corrected from GMT to
local time. Since GMTOFF30 is a retained variable, the
times can be corrected (as long as the MULTIDD record is
found after another type 30 which has a CPU section was
found) by inserting the correction logic:
INTBTIME=INTBTIME+GMTOFF30;
INTETIME=INTETIME+GMTOFF30;
inside the DO group which sets MULTIDD='Y';
Thanks to Don Friesen, B.C. Systems, CANADA.
Change 12.017 Variable BUFNO is now documented by IBM as always zero;
ADOC1415 the number of buffers is valid in JFCBUFNO. MXG now sets
VMAC1415 IF BUFNO LE 0 THEN BUFNO=JFCBUFNO
Apr 22, 1994 so you won't have to read this note in the future!
Thanks to Tom Elbert, John Alden Insurance, USA.
Change 12.016 CA-DISPATCH 5.1 corrupted READTIME (See Change 11.342) is
VMAC6 now corrected by CA PTF T97E056.
Apr 22, 1994
Thanks to Giovanni Dossena, Einchem Elastomeri S.R.L., ITALY.
Change 12.015 FMXGSID and FMXGUCBL functions ABEND 0C4 with SAS 6.08 at
FMXGSID TS407, but work on earlier versions. This is SAS error
FMXGUCBL related to pre-V6 style user written functions where the
Apr 21, 1994 SSI field has a min and max arguments of 0 and function
Sep 21, 1994 is invoked with zero arguments, and may be fixed in SAS
future SAS maintenance (MXG Newsletter 26 said it was
fixed in TS410, but it wasn't and may not be fixed in
TS420 maintenance), but it is circumvented by changing:
SETSSI AF000000 to SETSSI AF010000
For current status, see SAS usage note V6-SYS.SYS-09293.
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt AG, GERMANY.
Change 12.014 NDM type FP causes INPUT STATEMENT EXCEEDED error. Find
VMACNDM INPUT +8
Apr 18, 1994 NDMSCC $CHAR4. /*CMD*COMPLETION*CODE*/
and remove the "+8" from the INPUT line.
Thanks to Chuck Hopf, Primerica, USA.
Change 12.013 MXG 11.11 addition of TYPE77 dataset to BUILDPDB/BUILDPD3
BUIL3001 (see Change 11.351) had two problems:
BUIL3518 - If you have added TYPE77 processing to your BUILDPDB,
BUIL3606 "ERROR: OPEN OF FILE WORK.TYPE77.DATA FAILED, ANOTHER
Apr 18, 1994 COPY OF THE FILE IS OPEN." occurs. You must "unchange"
added TYPE77 processing by tailoring your site's PDB.
your tailoring in members EXPDBINC,EXPDBVAR,EXPDBCDE
and EXPDBOUT, removing the _VAR77, _CDE77, VMAC77, etc.
I'm sorry for this aggravation to those of you who had
enhanced their PDB, but I had to add TYPE77 to the PDB
so that ANALRMFR reports would not fail!
- JES3 PDB was not fully tested, and the changes for JES3
were incomplete, causing "DATASET TYPE77 NOT FOUND".
In member BUIL3001, add VMAC77 to the INCLUDE list.
In members BUIL3518 and BUIL3606, insert _VAR77 after
_VAR75, and insert _CDE77 after _CDE75.
-Revised Oct 19, 1994: The actual change also relocated
the _CDE26J3 invocation in BUILD3606 and BUIL3518 to be
after the _CDE30 invocation, so that the length of the
ACCOUNTn variables is controlled by IMACACCT, but the
text did not indicate this change was also made.
Thanks to Jens Schlatter, Independent Consultant, GERMANY.
Thanks to Kenneth D. Jones, SHL Systemhouse, CANADA.
Change 12.012 SMF Simulator CISIZE analysis miscalculated 3380 tracks
ANALSMF and cylinders for CISIZE=26624. Since that is clearly an
Apr 15, 1994 irrational size for 3380s, no real harm was done, but the
"ELSE IF CISIZE=22528 OR CISIZE=26624 THEN DO;" block
was expanded into separate DO groups, one for each CISIZE
and TRK3380=CEIL(CINUM/1); is calculated for 26624.
Thanks to George Janvrin, ITT Life Insurance Corporation.
Change 12.011 CONTROL-D SMF record caused INPUT STATEMENT EXCEEDED ...
VMACCTLD because the semi-colon after the INPUT of JTYPE should
Apr 14, 1994 have been an at-sign-semicolon.
Thanks to Ms. TAN Siew Peng, United Overseas Bank, SINGAPORE.
Change 12.010 Zero or too few observations in dataset NSPYLANS. The
EXNSPYLS MXG logic (in the "Exit" member EXNSPYLS) that OUTPUTs
Apr 13, 1994 only if there was activity recorded, did not test all of
the resource variables, and caused valid observations to
be not output. These variables must be added to the list
of variables in the SUM() function:
OF LLFRABK1-LLFRABK5,OF LLSERAL0-LLSERAL8,
OF LLSERRS0-LLSERRS8,LSTSNOFB,LSTSNOFN,
LLBYTEIN,LLBYTEOU,LLFRAMIN,LLFRAMOU,LSTFSIFB,LSTFSIFN,
LSTFSOFB,LSTFSOFN,LSTMCIFB,LSTMCIFN,LSTMCOFB,LSTMCOFN,
LSTOHIFB,LSTOHIFN,LSTOHOFB,LSOTHOFN,LSTSNIFB,LSTSNIFN
Yes, it really is worth taking the sum of all of those
variables and only outputting when something is non-zero;
you will waste lots of DASD space if you output every
segment in every record, but you can see for yourself by
removing the IF SUM(...) test completely and comparing
with the above enhanced test criteria.
Note that other LANSPY datasets are also controlled in
their Exit members; see Change 9.165 in CHANGESS.
Thanks to Alan Wick, Chevron, USA.
Change 12.009 IMS Log processing is incorrect. For multiple trans per
TYPEIMSA program schedule, the one occurrence of NSMGPROC should
Apr 13, 1994 have been spelled NMSGPROC. The earlier text of this
change is revised; there are no outstanding problems with
IMS Log processing except for the spelling error. See the
IMS Technical Notes, above (or in Newsletter 26).
Thanks to Cary Jones, Phillip Morris, USA.
Change 12.008 Message "UNRECOGNIZED TPX VERSION TPXVER=202" deletes all
VMACTPX TPX records; that version number was not expected. Insert
Apr 13, 1994 ELSE IF TPXVER='202 ' THEN TPXVER=' 2.0'; after the line
ELSE IF TPXVER='200 ' THEN TPXVER=' 2.0';
Variable TPXSNAME (Session Name) was also added to the
TPXAPLON dataset, and processing the 08 record no longer
tests for TPXVER but instead uses length of segment to
determine what data is present in each segment.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 12.007 Message "** WARNING LMS SMF RECORD TYPE ..." is created
VMACLMS in error, causing true LMS records to be flagged and then
Apr 13, 1994 deleted. The test IF ITISLMS NE 'LMS ' THEN DO;
must be changed to IF ITISLMS NE: 'LMS' THEN DO;
because LMS2 is now stored instead of LMS in that 4-byte
field. (This was reported earlier and should have been
fixed in MXG 11.11, but I failed to make the change!).
Thanks to Doug Mayward, Walsh America, USA.
Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.
Change 12.006 The SYNCTIME is incorrect in type 71, 73, 74, 76, 77, 78,
VMAC71 and 79 datasets (but was correct in type 70 and 72). The
VMAC73 correct equation for the GMT offset must be:
VMAC74 GMTOFFxx=100*FLOOR((STARTIME+DURATM-SYNCTIME+10)/100);
VMAC75 (the +10 was missing).
VMAC76
VMAC77
VMAC78
VMAC79
Apr 12, 1994
Thanks to Mike Skopec, Platinum Technology, USA.
Change 12.005 CICS Shutdown totals for report terminals column xaction,
ANALCISH report transactions column restarts, and report programs
Apr 9, 1994 column newcopy were wrong. Change all three occurrences
of T4=T5+... to T4=T4+....
ANALCISH can also fail with syntax errors, if there are
too many observations for the LSRPOOL SUMMARY, FILES, or
LSRPOOL FILE reports. Those reports will be redesigned
in a future change; you can circumvent the error by
commenting out the %CICSTAT2 invocation for those three
reports:
%CICSTAT2(CICLSRR,LSR,LSR);
%CICSTAT2(CICFCR,FCR,FCR);
%CICSTAT2(CICLSRFR,LSF,LSF);
Thanks to John Vasilakos, New York Life Insurance, USA.
Thanks to Kusol Voratanitkitkul, Blue Cross Blue Shield Ill, USA
Change 12.004 Variable UMLEVEL must be added to the KEEPIN= list. The
DAILYDSN migrated datasets are incorrectly reported as level 2 if
Apr 5, 1994 this error is not corrected.
Thanks to Steve Talley, U.S. Army Personnel Info Sys Command, USA.
Change 12.003 ASTEX can create three SMF records; the comments now show
IMACDMON how to define _DMONID if you create three different IDs:
Mar 29, 1994 MACRO _DMONID 231 OR ID=232 OR ID=233 %
Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.
Thanks to Harmuth Beckmann, Karstadt AG, GERMANY.
Change 12.002 This is a major change to OPC support, and new JCL is now
JCLTEST6 required by this INCOMPATIBLE CHANGE. See the complete
VMACOPC documentation and JCL example in member VMACOPC. The text
Mar 29, 1994 of this change was rewritten May 17, 1994
Apr 9, 1994 -Type 24 physically split records are now supported, but
May 17, 1994 two new DDNAMEs are required in your JCL, and DSN=OPCTEMP
must have been previously allocated and cataloged:
//OPCTEMPW DD DSN=OPCTEMP,DISP=SHR
//OPCTEMPR DD DSN=OPCTEMP,DISP=SHR
I reconstruct those split records by writing them to the
OPCTEMPW DDNAME and then read the reconstructed records
from the OPCTEMPR DDNAME after the OPCLOG has been read.
New MT0 record type "G" caused INVALID MT0 RECORD error.
-Record type used to be an EBCDIC number, but now can be a
character value; MXG's 11.11 fix to support the new type
"G" was incomplete:
after the @; after the INPUT of MT0TYPE, insert line
IF MT0TYPE=. THEN INPUT @47+OFFSMF MT0TYPE &PIB.1. @;
-Dataset OPC29 did not have all its observations:
the semi-colon ";" that is after the INPUT of EXRSTPNR
must be changed to an at-sign-semi-colon "@;".
Thanks to Randy Shumate, Mead Data Central, USA.
Thanks to Waldemar Schneider, SAS Europe, GERMANY.
Change 12.001 Member ANALDSET in MXG 11.11 is in error. ANALDSET lines
ANALBLSR OR OPEN='OUTPUT' should read OR OPEN='OUTPUT' THEN
ANALDSET LSRSTAT='N'; LSRSTAT='N';
Mar 29, 1994 for ANALDSET to execute without error. However, if you
Apr 8, 1994 use ANALBLSR, it will fail because all of the variables
that are required by ANALBLSR were not kept in ANALDSET.
(The wrong ANALDSET member was moved after testing!).
To run ANALBLSR, you must first make these changes to
ANALDSET (you can also request a replacement ANALDSET on
a 3-1/2 "stiffie" PC diskette):
- add COMPONT to KEEP= for TYPE64.TYPE64
- add EXCPDASD EXCPTAPE IOTMDASD IOTMTAPE to KEEP= for
TYPE30.TYPE30_4
- insert these lines after BUFNO=BUFDRNO;
IF COMPONT=:'INDEX' AND BUFDRNO=0 AND ACBBUFNI GT 0
THEN BUFNO=ACBBUFNI;
ELSE IF COMPONT=:'DATA' AND BUFDRNO=0 AND ACBBUFND GT
0 THEN BUFNO=ACBBUFND;
- add (IN=INTYP64) after SORT64.TYPE64 in the SET
statement following DATA ADDPROG.ADDPROG;
- add EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ to the
RETAIN list following IF INSTP THEN DO;
- insert these four lines after TYPETASZ=TYPETASK;
EXCPDASZ=EXCPDASD;
EXCPTAPZ=EXCPTAPE;
IOTMDASZ=IOTMDASD;
IOTMTAPZ=IOTMTAPE;
- insert these four lines after TYPETASK=TYPETASZ;
EXCPDASD=EXCPDASZ;
EXCPTAPE=EXCPTAPZ;
IOTMDASD=IOTMDASZ;
IOTMTAPE=IOTMTAPZ;
- add EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ to the DROP
statement before PROC SORT DATA=DSETOPEN.DSETOPEN....
Thanks to Freddie Arie, Lone Star Gas, TEXAS.
Thanks to Neil Ervin, Huntington Service Company, USA.
LASTCHANGE: Version 12